KILLED proof of input_kGskXJUZSR.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) CpxTrsToCdtProof [UPPER BOUND(ID), 124 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (10) TRS for Loop Detection (11) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxRelTRS (13) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (14) typed CpxTrs (15) OrderProof [LOWER BOUND(ID), 133 ms] (16) typed CpxTrs (17) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (18) CpxWeightedTrs (19) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxTypedWeightedTrs (21) CompletionProof [UPPER BOUND(ID), 0 ms] (22) CpxTypedWeightedCompleteTrs (23) NarrowingProof [BOTH BOUNDS(ID, ID), 34.7 s] (24) CpxTypedWeightedCompleteTrs (25) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 3 ms] (26) CpxRNTS (27) SimplificationProof [BOTH BOUNDS(ID, ID), 8 ms] (28) CpxRNTS (29) CompletionProof [UPPER BOUND(ID), 0 ms] (30) CpxTypedWeightedCompleteTrs (31) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 19 ms] (32) CpxRNTS (33) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (34) CdtProblem (35) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CpxRelTRS (39) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (40) CpxTRS (41) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxWeightedTrs (43) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CpxTypedWeightedTrs (45) CompletionProof [UPPER BOUND(ID), 0 ms] (46) CpxTypedWeightedCompleteTrs (47) CompletionProof [UPPER BOUND(ID), 156 ms] (48) CpxTypedWeightedCompleteTrs (49) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 11 ms] (50) CpxRNTS (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 123 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 74 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 98 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 78 ms] (64) CdtProblem (65) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 5 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 90 ms] (68) CdtProblem (69) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 9 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 119 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 106 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 10 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 88 ms] (80) CdtProblem (81) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 84 ms] (84) CdtProblem (85) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 58 ms] (88) CdtProblem (89) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 47 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 35 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 1 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 20 ms] (100) CdtProblem (101) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (104) CdtProblem (105) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (108) CdtProblem (109) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 8 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (112) CdtProblem (113) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 2 ms] (114) CdtProblem (115) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 28 ms] (116) CdtProblem (117) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (120) CdtProblem (121) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 85 ms] (124) CdtProblem (125) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 84 ms] (128) CdtProblem (129) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 13 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 63 ms] (132) CdtProblem (133) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 151 ms] (136) CdtProblem (137) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 5 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 71 ms] (140) CdtProblem (141) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 97 ms] (144) CdtProblem (145) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 216 ms] (148) CdtProblem (149) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 225 ms] (154) CdtProblem (155) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 32 ms] (156) CdtProblem (157) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 413 ms] (160) CdtProblem (161) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 36 ms] (162) CdtProblem (163) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 42 ms] (164) CdtProblem (165) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 475 ms] (166) CdtProblem (167) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 50 ms] (168) 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) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (6) 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 ---------------------------------------- (7) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (9) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (10) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (11) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (12) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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' Rewrite Strategy: INNERMOST ---------------------------------------- (13) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (14) Obligation: Innermost TRS: Rules: 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 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' Types: A__U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c:c1:c2 tt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c :: c31:c32 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c:c1:c2 A__FST :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c31:c32 a__splitAt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__SPLITAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c58:c59:c60 MARK :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c1 :: c31:c32 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c:c1:c2 c2 :: c:c1:c2 A__U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c3:c4:c5 c3 :: c56:c57 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c3:c4:c5 A__SND :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c56:c57 c4 :: c56:c57 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c3:c4:c5 c5 :: c3:c4:c5 A__U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c6:c7 c6 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c6:c7 c7 :: c6:c7 A__U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c8:c9 c8 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c8:c9 c9 :: c8:c9 A__U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c10:c11 c10 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c10:c11 c11 :: c10:c11 A__U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c12:c13:c14 c12 :: c33:c34 -> c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c12:c13:c14 A__HEAD :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c33:c34 a__afterNth :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__AFTERNTH :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c27:c28 c13 :: c33:c34 -> c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c12:c13:c14 c14 :: c12:c13:c14 A__U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c15:c16 c15 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c15:c16 c16 :: c15:c16 A__U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c17:c18 c17 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c17:c18 c18 :: c17:c18 A__U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c19:c20:c21 c19 :: c22:c23:c24 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c19:c20:c21 A__U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c22:c23:c24 c20 :: c22:c23:c24 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c19:c20:c21 c21 :: c19:c20:c21 pair :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c22 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c22:c23:c24 c23 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c22:c23:c24 c24 :: c22:c23:c24 A__U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c25:c26 c25 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c25:c26 c26 :: c25:c26 c27 :: c3:c4:c5 -> c29:c30 -> c44:c45:c46:c47:c48 -> c27:c28 a__and :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__AND :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c29:c30 A__ISNATURAL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c44:c45:c46:c47:c48 c28 :: c27:c28 c29 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c29:c30 c30 :: c29:c30 c31 :: c6:c7 -> c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c31:c32 a__isLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__ISLNAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c32 :: c31:c32 cons :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c33 :: c8:c9 -> c29:c30 -> c44:c45:c46:c47:c48 -> c33:c34 c34 :: c33:c34 nil :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c35 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 afterNth :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c36 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c37 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 fst :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c38 :: c49:c50:c51 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 A__ISPLNAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c49:c50:c51 natsFrom :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c39 :: c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 snd :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c40 :: c49:c50:c51 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 tail :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c41 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 take :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c42 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c43 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 0' :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c44 :: c44:c45:c46:c47:c48 head :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c45 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c44:c45:c46:c47:c48 s :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c46 :: c44:c45:c46:c47:c48 -> c44:c45:c46:c47:c48 sel :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c47 :: c29:c30 -> c44:c45:c46:c47:c48 -> c44:c45:c46:c47:c48 c48 :: c44:c45:c46:c47:c48 c49 :: c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c49:c50:c51 splitAt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c50 :: c29:c30 -> c44:c45:c46:c47:c48 -> c49:c50:c51 c51 :: c49:c50:c51 A__NATSFROM :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c52:c53 c52 :: c10:c11 -> c44:c45:c46:c47:c48 -> c52:c53 c53 :: c52:c53 A__SEL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c54:c55 c54 :: c12:c13:c14 -> c29:c30 -> c44:c45:c46:c47:c48 -> c54:c55 c55 :: c54:c55 c56 :: c15:c16 -> c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c56:c57 c57 :: c56:c57 c58 :: c17:c18 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c58:c59:c60 c59 :: c19:c20:c21 -> c29:c30 -> c44:c45:c46:c47:c48 -> c58:c59:c60 and :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c60 :: c58:c59:c60 A__TAIL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c61:c62 c61 :: c25:c26 -> c29:c30 -> c44:c45:c46:c47:c48 -> c61:c62 c62 :: c61:c62 A__TAKE :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c63:c64 c63 :: c:c1:c2 -> c29:c30 -> c44:c45:c46:c47:c48 -> c63:c64 c64 :: c63:c64 U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c65 :: c:c1:c2 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c66 :: c31:c32 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c67 :: c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c68 :: c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c69 :: c3:c4:c5 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c70 :: c56:c57 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c71 :: c6:c7 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c72 :: c8:c9 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c73 :: c10:c11 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c74 :: c52:c53 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c75 :: c12:c13:c14 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c76 :: c33:c34 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c77 :: c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c78 :: c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c79 :: c15:c16 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c80 :: c17:c18 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c81 :: c19:c20:c21 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c82 :: c22:c23:c24 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c83 :: c25:c26 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c84 :: c29:c30 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c85 :: c44:c45:c46:c47:c48 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c86 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 isPLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c87 :: c49:c50:c51 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c88 :: c61:c62 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c89 :: c63:c64 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c90 :: c63:c64 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c91 :: c54:c55 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c92 :: c54:c55 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c93 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c94 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c95 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c96 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c97 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c98 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c99 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 a__U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat hole_c:c1:c21_100 :: c:c1:c2 hole_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat2_100 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat hole_c31:c323_100 :: c31:c32 hole_c58:c59:c604_100 :: c58:c59:c60 hole_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c995_100 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 hole_c3:c4:c56_100 :: c3:c4:c5 hole_c56:c577_100 :: c56:c57 hole_c6:c78_100 :: c6:c7 hole_c8:c99_100 :: c8:c9 hole_c10:c1110_100 :: c10:c11 hole_c12:c13:c1411_100 :: c12:c13:c14 hole_c33:c3412_100 :: c33:c34 hole_c27:c2813_100 :: c27:c28 hole_c15:c1614_100 :: c15:c16 hole_c17:c1815_100 :: c17:c18 hole_c19:c20:c2116_100 :: c19:c20:c21 hole_c22:c23:c2417_100 :: c22:c23:c24 hole_c25:c2618_100 :: c25:c26 hole_c29:c3019_100 :: c29:c30 hole_c44:c45:c46:c47:c4820_100 :: c44:c45:c46:c47:c48 hole_c35:c36:c37:c38:c39:c40:c41:c42:c4321_100 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 hole_c49:c50:c5122_100 :: c49:c50:c51 hole_c52:c5323_100 :: c52:c53 hole_c54:c5524_100 :: c54:c55 hole_c61:c6225_100 :: c61:c62 hole_c63:c6426_100 :: c63:c64 gen_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat27_100 :: Nat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat gen_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c9928_100 :: Nat -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 gen_c44:c45:c46:c47:c4829_100 :: Nat -> c44:c45:c46:c47:c48 gen_c35:c36:c37:c38:c39:c40:c41:c42:c4330_100 :: Nat -> c35:c36:c37:c38:c39:c40:c41:c42:c43 ---------------------------------------- (15) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__U101, A__FST, a__splitAt, mark, A__SPLITAT, MARK, A__U11, A__SND, A__U21, A__U31, A__U41, A__U51, A__HEAD, a__afterNth, A__AFTERNTH, A__U61, A__U71, A__U81, A__U82, A__U91, a__and, a__isNatural, A__AND, A__ISNATURAL, a__isLNat, A__ISLNAT, A__ISPLNAT, A__NATSFROM, A__TAIL, a__U101, a__fst, a__U11, a__snd, a__U21, a__U31, a__U41, a__U51, a__head, a__U61, a__U71, a__U81, a__U82, a__U91, a__isPLNat, a__natsFrom, a__tail They will be analysed ascendingly in the following order: A__U101 = A__FST a__splitAt < A__U101 mark < A__U101 A__U101 = A__SPLITAT A__U101 = MARK A__U101 = A__U11 A__U101 = A__SND A__U101 = A__U21 A__U101 = A__U31 A__U101 = A__U41 A__U101 = A__U51 A__U101 = A__HEAD A__U101 = A__AFTERNTH A__U101 = A__U61 A__U101 = A__U71 A__U101 = A__U81 A__U101 = A__U82 A__U101 = A__U91 A__U101 = A__AND A__U101 = A__ISNATURAL A__U101 = A__ISLNAT A__U101 = A__ISPLNAT A__U101 = A__NATSFROM A__U101 = A__TAIL A__FST = A__SPLITAT A__FST = MARK A__FST = A__U11 A__FST = A__SND A__FST = A__U21 A__FST = A__U31 A__FST = A__U41 A__FST = A__U51 A__FST = A__HEAD A__FST = A__AFTERNTH A__FST = A__U61 A__FST = A__U71 A__FST = A__U81 A__FST = A__U82 A__FST = A__U91 a__and < A__FST A__FST = A__AND A__FST = A__ISNATURAL a__isLNat < A__FST A__FST = A__ISLNAT A__FST = A__ISPLNAT A__FST = A__NATSFROM A__FST = A__TAIL a__splitAt = mark a__splitAt < A__U11 a__splitAt = a__afterNth a__splitAt < A__U81 a__splitAt = a__and a__splitAt = a__isNatural a__splitAt = a__isLNat a__splitAt = a__U101 a__splitAt = a__fst a__splitAt = a__U11 a__splitAt = a__snd a__splitAt = a__U21 a__splitAt = a__U31 a__splitAt = a__U41 a__splitAt = a__U51 a__splitAt = a__head a__splitAt = a__U61 a__splitAt = a__U71 a__splitAt = a__U81 a__splitAt = a__U82 a__splitAt = a__U91 a__splitAt = a__isPLNat a__splitAt = a__natsFrom a__splitAt = a__tail mark < MARK mark < A__U11 mark < A__U51 mark = a__afterNth mark < A__U81 mark = a__and mark = a__isNatural mark = a__isLNat mark = a__U101 mark = a__fst mark = a__U11 mark = a__snd mark = a__U21 mark = a__U31 mark = a__U41 mark = a__U51 mark = a__head mark = a__U61 mark = a__U71 mark = a__U81 mark = a__U82 mark = a__U91 mark = a__isPLNat mark = a__natsFrom mark = a__tail A__SPLITAT = MARK A__SPLITAT = A__U11 A__SPLITAT = A__SND A__SPLITAT = A__U21 A__SPLITAT = A__U31 A__SPLITAT = A__U41 A__SPLITAT = A__U51 A__SPLITAT = A__HEAD A__SPLITAT = A__AFTERNTH A__SPLITAT = A__U61 A__SPLITAT = A__U71 A__SPLITAT = A__U81 A__SPLITAT = A__U82 A__SPLITAT = A__U91 a__and < A__SPLITAT a__isNatural < A__SPLITAT A__SPLITAT = A__AND A__SPLITAT = A__ISNATURAL a__isLNat < A__SPLITAT A__SPLITAT = A__ISLNAT A__SPLITAT = A__ISPLNAT A__SPLITAT = A__NATSFROM A__SPLITAT = A__TAIL MARK = A__U11 MARK = A__SND MARK = A__U21 MARK = A__U31 MARK = A__U41 MARK = A__U51 MARK = A__HEAD MARK = A__AFTERNTH MARK = A__U61 MARK = A__U71 MARK = A__U81 MARK = A__U82 MARK = A__U91 a__and < MARK a__isNatural < MARK MARK = A__AND MARK = A__ISNATURAL MARK = A__ISLNAT MARK = A__ISPLNAT MARK = A__NATSFROM MARK = A__TAIL A__U11 = A__SND A__U11 = A__U21 A__U11 = A__U31 A__U11 = A__U41 A__U11 = A__U51 A__U11 = A__HEAD A__U11 = A__AFTERNTH A__U11 = A__U61 A__U11 = A__U71 A__U11 = A__U81 A__U11 = A__U82 A__U11 = A__U91 A__U11 = A__AND A__U11 = A__ISNATURAL A__U11 = A__ISLNAT A__U11 = A__ISPLNAT A__U11 = A__NATSFROM A__U11 = A__TAIL A__SND = A__U21 A__SND = A__U31 A__SND = A__U41 A__SND = A__U51 A__SND = A__HEAD A__SND = A__AFTERNTH A__SND = A__U61 A__SND = A__U71 A__SND = A__U81 A__SND = A__U82 A__SND = A__U91 a__and < A__SND A__SND = A__AND A__SND = A__ISNATURAL a__isLNat < A__SND A__SND = A__ISLNAT A__SND = A__ISPLNAT A__SND = A__NATSFROM A__SND = A__TAIL A__U21 = A__U31 A__U21 = A__U41 A__U21 = A__U51 A__U21 = A__HEAD A__U21 = A__AFTERNTH A__U21 = A__U61 A__U21 = A__U71 A__U21 = A__U81 A__U21 = A__U82 A__U21 = A__U91 A__U21 = A__AND A__U21 = A__ISNATURAL A__U21 = A__ISLNAT A__U21 = A__ISPLNAT A__U21 = A__NATSFROM A__U21 = A__TAIL A__U31 = A__U41 A__U31 = A__U51 A__U31 = A__HEAD A__U31 = A__AFTERNTH A__U31 = A__U61 A__U31 = A__U71 A__U31 = A__U81 A__U31 = A__U82 A__U31 = A__U91 A__U31 = A__AND A__U31 = A__ISNATURAL A__U31 = A__ISLNAT A__U31 = A__ISPLNAT A__U31 = A__NATSFROM A__U31 = A__TAIL A__U41 = A__U51 A__U41 = A__HEAD A__U41 = A__AFTERNTH A__U41 = A__U61 A__U41 = A__U71 A__U41 = A__U81 A__U41 = A__U82 A__U41 = A__U91 A__U41 = A__AND A__U41 = A__ISNATURAL A__U41 = A__ISLNAT A__U41 = A__ISPLNAT A__U41 = A__NATSFROM A__U41 = A__TAIL A__U51 = A__HEAD a__afterNth < A__U51 A__U51 = A__AFTERNTH A__U51 = A__U61 A__U51 = A__U71 A__U51 = A__U81 A__U51 = A__U82 A__U51 = A__U91 A__U51 = A__AND A__U51 = A__ISNATURAL A__U51 = A__ISLNAT A__U51 = A__ISPLNAT A__U51 = A__NATSFROM A__U51 = A__TAIL A__HEAD = A__AFTERNTH A__HEAD = A__U61 A__HEAD = A__U71 A__HEAD = A__U81 A__HEAD = A__U82 A__HEAD = A__U91 a__and < A__HEAD a__isNatural < A__HEAD A__HEAD = A__AND A__HEAD = A__ISNATURAL A__HEAD = A__ISLNAT A__HEAD = A__ISPLNAT A__HEAD = A__NATSFROM A__HEAD = A__TAIL a__afterNth = a__and a__afterNth = a__isNatural a__afterNth = a__isLNat a__afterNth = a__U101 a__afterNth = a__fst a__afterNth = a__U11 a__afterNth = a__snd a__afterNth = a__U21 a__afterNth = a__U31 a__afterNth = a__U41 a__afterNth = a__U51 a__afterNth = a__head a__afterNth = a__U61 a__afterNth = a__U71 a__afterNth = a__U81 a__afterNth = a__U82 a__afterNth = a__U91 a__afterNth = a__isPLNat a__afterNth = a__natsFrom a__afterNth = a__tail A__AFTERNTH = A__U61 A__AFTERNTH = A__U71 A__AFTERNTH = A__U81 A__AFTERNTH = A__U82 A__AFTERNTH = A__U91 a__and < A__AFTERNTH a__isNatural < A__AFTERNTH A__AFTERNTH = A__AND A__AFTERNTH = A__ISNATURAL A__AFTERNTH = A__ISLNAT A__AFTERNTH = A__ISPLNAT A__AFTERNTH = A__NATSFROM A__AFTERNTH = A__TAIL A__U61 = A__U71 A__U61 = A__U81 A__U61 = A__U82 A__U61 = A__U91 A__U61 = A__AND A__U61 = A__ISNATURAL A__U61 = A__ISLNAT A__U61 = A__ISPLNAT A__U61 = A__NATSFROM A__U61 = A__TAIL A__U71 = A__U81 A__U71 = A__U82 A__U71 = A__U91 A__U71 = A__AND A__U71 = A__ISNATURAL A__U71 = A__ISLNAT A__U71 = A__ISPLNAT A__U71 = A__NATSFROM A__U71 = A__TAIL A__U81 = A__U82 A__U81 = A__U91 A__U81 = A__AND A__U81 = A__ISNATURAL A__U81 = A__ISLNAT A__U81 = A__ISPLNAT A__U81 = A__NATSFROM A__U81 = A__TAIL A__U82 = A__U91 A__U82 = A__AND A__U82 = A__ISNATURAL A__U82 = A__ISLNAT A__U82 = A__ISPLNAT A__U82 = A__NATSFROM A__U82 = A__TAIL A__U91 = A__AND A__U91 = A__ISNATURAL A__U91 = A__ISLNAT A__U91 = A__ISPLNAT A__U91 = A__NATSFROM A__U91 = A__TAIL a__and = a__isNatural a__and = a__isLNat a__and < A__TAIL a__and = a__U101 a__and = a__fst a__and = a__U11 a__and = a__snd a__and = a__U21 a__and = a__U31 a__and = a__U41 a__and = a__U51 a__and = a__head a__and = a__U61 a__and = a__U71 a__and = a__U81 a__and = a__U82 a__and = a__U91 a__and = a__isPLNat a__and = a__natsFrom a__and = a__tail a__isNatural < A__ISNATURAL a__isNatural = a__isLNat a__isNatural < A__ISLNAT a__isNatural < A__ISPLNAT a__isNatural < A__NATSFROM a__isNatural < A__TAIL a__isNatural = a__U101 a__isNatural = a__fst a__isNatural = a__U11 a__isNatural = a__snd a__isNatural = a__U21 a__isNatural = a__U31 a__isNatural = a__U41 a__isNatural = a__U51 a__isNatural = a__head a__isNatural = a__U61 a__isNatural = a__U71 a__isNatural = a__U81 a__isNatural = a__U82 a__isNatural = a__U91 a__isNatural = a__isPLNat a__isNatural = a__natsFrom a__isNatural = a__tail A__AND = A__ISNATURAL A__AND = A__ISLNAT A__AND = A__ISPLNAT A__AND = A__NATSFROM A__AND = A__TAIL A__ISNATURAL = A__ISLNAT A__ISNATURAL = A__ISPLNAT A__ISNATURAL = A__NATSFROM A__ISNATURAL = A__TAIL a__isLNat < A__ISPLNAT a__isLNat = a__U101 a__isLNat = a__fst a__isLNat = a__U11 a__isLNat = a__snd a__isLNat = a__U21 a__isLNat = a__U31 a__isLNat = a__U41 a__isLNat = a__U51 a__isLNat = a__head a__isLNat = a__U61 a__isLNat = a__U71 a__isLNat = a__U81 a__isLNat = a__U82 a__isLNat = a__U91 a__isLNat = a__isPLNat a__isLNat = a__natsFrom a__isLNat = a__tail A__ISLNAT = A__ISPLNAT A__ISLNAT = A__NATSFROM A__ISLNAT = A__TAIL A__ISPLNAT = A__NATSFROM A__ISPLNAT = A__TAIL A__NATSFROM = A__TAIL a__U101 = a__fst a__U101 = a__U11 a__U101 = a__snd a__U101 = a__U21 a__U101 = a__U31 a__U101 = a__U41 a__U101 = a__U51 a__U101 = a__head a__U101 = a__U61 a__U101 = a__U71 a__U101 = a__U81 a__U101 = a__U82 a__U101 = a__U91 a__U101 = a__isPLNat a__U101 = a__natsFrom a__U101 = a__tail a__fst = a__U11 a__fst = a__snd a__fst = a__U21 a__fst = a__U31 a__fst = a__U41 a__fst = a__U51 a__fst = a__head a__fst = a__U61 a__fst = a__U71 a__fst = a__U81 a__fst = a__U82 a__fst = a__U91 a__fst = a__isPLNat a__fst = a__natsFrom a__fst = a__tail a__U11 = a__snd a__U11 = a__U21 a__U11 = a__U31 a__U11 = a__U41 a__U11 = a__U51 a__U11 = a__head a__U11 = a__U61 a__U11 = a__U71 a__U11 = a__U81 a__U11 = a__U82 a__U11 = a__U91 a__U11 = a__isPLNat a__U11 = a__natsFrom a__U11 = a__tail a__snd = a__U21 a__snd = a__U31 a__snd = a__U41 a__snd = a__U51 a__snd = a__head a__snd = a__U61 a__snd = a__U71 a__snd = a__U81 a__snd = a__U82 a__snd = a__U91 a__snd = a__isPLNat a__snd = a__natsFrom a__snd = a__tail a__U21 = a__U31 a__U21 = a__U41 a__U21 = a__U51 a__U21 = a__head a__U21 = a__U61 a__U21 = a__U71 a__U21 = a__U81 a__U21 = a__U82 a__U21 = a__U91 a__U21 = a__isPLNat a__U21 = a__natsFrom a__U21 = a__tail a__U31 = a__U41 a__U31 = a__U51 a__U31 = a__head a__U31 = a__U61 a__U31 = a__U71 a__U31 = a__U81 a__U31 = a__U82 a__U31 = a__U91 a__U31 = a__isPLNat a__U31 = a__natsFrom a__U31 = a__tail a__U41 = a__U51 a__U41 = a__head a__U41 = a__U61 a__U41 = a__U71 a__U41 = a__U81 a__U41 = a__U82 a__U41 = a__U91 a__U41 = a__isPLNat a__U41 = a__natsFrom a__U41 = a__tail a__U51 = a__head a__U51 = a__U61 a__U51 = a__U71 a__U51 = a__U81 a__U51 = a__U82 a__U51 = a__U91 a__U51 = a__isPLNat a__U51 = a__natsFrom a__U51 = a__tail a__head = a__U61 a__head = a__U71 a__head = a__U81 a__head = a__U82 a__head = a__U91 a__head = a__isPLNat a__head = a__natsFrom a__head = a__tail a__U61 = a__U71 a__U61 = a__U81 a__U61 = a__U82 a__U61 = a__U91 a__U61 = a__isPLNat a__U61 = a__natsFrom a__U61 = a__tail a__U71 = a__U81 a__U71 = a__U82 a__U71 = a__U91 a__U71 = a__isPLNat a__U71 = a__natsFrom a__U71 = a__tail a__U81 = a__U82 a__U81 = a__U91 a__U81 = a__isPLNat a__U81 = a__natsFrom a__U81 = a__tail a__U82 = a__U91 a__U82 = a__isPLNat a__U82 = a__natsFrom a__U82 = a__tail a__U91 = a__isPLNat a__U91 = a__natsFrom a__U91 = a__tail a__isPLNat = a__natsFrom a__isPLNat = a__tail a__natsFrom = a__tail ---------------------------------------- (16) Obligation: Innermost TRS: Rules: 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 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' Types: A__U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c:c1:c2 tt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c :: c31:c32 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c:c1:c2 A__FST :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c31:c32 a__splitAt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__SPLITAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c58:c59:c60 MARK :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c1 :: c31:c32 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c:c1:c2 c2 :: c:c1:c2 A__U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c3:c4:c5 c3 :: c56:c57 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c3:c4:c5 A__SND :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c56:c57 c4 :: c56:c57 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c3:c4:c5 c5 :: c3:c4:c5 A__U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c6:c7 c6 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c6:c7 c7 :: c6:c7 A__U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c8:c9 c8 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c8:c9 c9 :: c8:c9 A__U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c10:c11 c10 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c10:c11 c11 :: c10:c11 A__U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c12:c13:c14 c12 :: c33:c34 -> c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c12:c13:c14 A__HEAD :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c33:c34 a__afterNth :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__AFTERNTH :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c27:c28 c13 :: c33:c34 -> c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c12:c13:c14 c14 :: c12:c13:c14 A__U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c15:c16 c15 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c15:c16 c16 :: c15:c16 A__U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c17:c18 c17 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c17:c18 c18 :: c17:c18 A__U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c19:c20:c21 c19 :: c22:c23:c24 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c19:c20:c21 A__U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c22:c23:c24 c20 :: c22:c23:c24 -> c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c19:c20:c21 c21 :: c19:c20:c21 pair :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c22 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c22:c23:c24 c23 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c22:c23:c24 c24 :: c22:c23:c24 A__U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c25:c26 c25 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c25:c26 c26 :: c25:c26 c27 :: c3:c4:c5 -> c29:c30 -> c44:c45:c46:c47:c48 -> c27:c28 a__and :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__AND :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c29:c30 A__ISNATURAL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c44:c45:c46:c47:c48 c28 :: c27:c28 c29 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c29:c30 c30 :: c29:c30 c31 :: c6:c7 -> c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c31:c32 a__isLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat A__ISLNAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c32 :: c31:c32 cons :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c33 :: c8:c9 -> c29:c30 -> c44:c45:c46:c47:c48 -> c33:c34 c34 :: c33:c34 nil :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c35 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 afterNth :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c36 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c37 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 fst :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c38 :: c49:c50:c51 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 A__ISPLNAT :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c49:c50:c51 natsFrom :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c39 :: c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 snd :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c40 :: c49:c50:c51 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 tail :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c41 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 take :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c42 :: c29:c30 -> c44:c45:c46:c47:c48 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 c43 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 0' :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c44 :: c44:c45:c46:c47:c48 head :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c45 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c44:c45:c46:c47:c48 s :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c46 :: c44:c45:c46:c47:c48 -> c44:c45:c46:c47:c48 sel :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c47 :: c29:c30 -> c44:c45:c46:c47:c48 -> c44:c45:c46:c47:c48 c48 :: c44:c45:c46:c47:c48 c49 :: c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c49:c50:c51 splitAt :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c50 :: c29:c30 -> c44:c45:c46:c47:c48 -> c49:c50:c51 c51 :: c49:c50:c51 A__NATSFROM :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c52:c53 c52 :: c10:c11 -> c44:c45:c46:c47:c48 -> c52:c53 c53 :: c52:c53 A__SEL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c54:c55 c54 :: c12:c13:c14 -> c29:c30 -> c44:c45:c46:c47:c48 -> c54:c55 c55 :: c54:c55 c56 :: c15:c16 -> c29:c30 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c56:c57 c57 :: c56:c57 c58 :: c17:c18 -> c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c58:c59:c60 c59 :: c19:c20:c21 -> c29:c30 -> c44:c45:c46:c47:c48 -> c58:c59:c60 and :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c60 :: c58:c59:c60 A__TAIL :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c61:c62 c61 :: c25:c26 -> c29:c30 -> c44:c45:c46:c47:c48 -> c61:c62 c62 :: c61:c62 A__TAKE :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> c63:c64 c63 :: c:c1:c2 -> c29:c30 -> c44:c45:c46:c47:c48 -> c63:c64 c64 :: c63:c64 U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c65 :: c:c1:c2 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c66 :: c31:c32 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c67 :: c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c68 :: c58:c59:c60 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c69 :: c3:c4:c5 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c70 :: c56:c57 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c71 :: c6:c7 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c72 :: c8:c9 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c73 :: c10:c11 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c74 :: c52:c53 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c75 :: c12:c13:c14 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c76 :: c33:c34 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c77 :: c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c78 :: c27:c28 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c79 :: c15:c16 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c80 :: c17:c18 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c81 :: c19:c20:c21 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c82 :: c22:c23:c24 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c83 :: c25:c26 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c84 :: c29:c30 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c85 :: c44:c45:c46:c47:c48 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c86 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 isPLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat c87 :: c49:c50:c51 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c88 :: c61:c62 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c89 :: c63:c64 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c90 :: c63:c64 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c91 :: c54:c55 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c92 :: c54:c55 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c93 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c94 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c95 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c96 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c97 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c98 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 c99 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 a__U101 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat hole_c:c1:c21_100 :: c:c1:c2 hole_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat2_100 :: tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat hole_c31:c323_100 :: c31:c32 hole_c58:c59:c604_100 :: c58:c59:c60 hole_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c995_100 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 hole_c3:c4:c56_100 :: c3:c4:c5 hole_c56:c577_100 :: c56:c57 hole_c6:c78_100 :: c6:c7 hole_c8:c99_100 :: c8:c9 hole_c10:c1110_100 :: c10:c11 hole_c12:c13:c1411_100 :: c12:c13:c14 hole_c33:c3412_100 :: c33:c34 hole_c27:c2813_100 :: c27:c28 hole_c15:c1614_100 :: c15:c16 hole_c17:c1815_100 :: c17:c18 hole_c19:c20:c2116_100 :: c19:c20:c21 hole_c22:c23:c2417_100 :: c22:c23:c24 hole_c25:c2618_100 :: c25:c26 hole_c29:c3019_100 :: c29:c30 hole_c44:c45:c46:c47:c4820_100 :: c44:c45:c46:c47:c48 hole_c35:c36:c37:c38:c39:c40:c41:c42:c4321_100 :: c35:c36:c37:c38:c39:c40:c41:c42:c43 hole_c49:c50:c5122_100 :: c49:c50:c51 hole_c52:c5323_100 :: c52:c53 hole_c54:c5524_100 :: c54:c55 hole_c61:c6225_100 :: c61:c62 hole_c63:c6426_100 :: c63:c64 gen_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat27_100 :: Nat -> tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat gen_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c9928_100 :: Nat -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c99 gen_c44:c45:c46:c47:c4829_100 :: Nat -> c44:c45:c46:c47:c48 gen_c35:c36:c37:c38:c39:c40:c41:c42:c4330_100 :: Nat -> c35:c36:c37:c38:c39:c40:c41:c42:c43 Generator Equations: gen_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat27_100(0) <=> tt gen_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat27_100(+(x, 1)) <=> pair(tt, gen_tt:pair:isLNat:cons:nil:afterNth:fst:natsFrom:snd:tail:take:0':head:s:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat27_100(x)) gen_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c9928_100(0) <=> c85(c44) gen_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c9928_100(+(x, 1)) <=> c65(c(c31(c6(c85(c44)), c29(c85(c44)), c35), c58(c17(c85(c44)), c35), c85(c44)), gen_c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c93:c94:c95:c96:c97:c98:c9928_100(x)) gen_c44:c45:c46:c47:c4829_100(0) <=> c44 gen_c44:c45:c46:c47:c4829_100(+(x, 1)) <=> c46(gen_c44:c45:c46:c47:c4829_100(x)) gen_c35:c36:c37:c38:c39:c40:c41:c42:c4330_100(0) <=> c35 gen_c35:c36:c37:c38:c39:c40:c41:c42:c4330_100(+(x, 1)) <=> c41(gen_c35:c36:c37:c38:c39:c40:c41:c42:c4330_100(x)) The following defined symbols remain to be analysed: a__U71, A__U101, A__FST, a__splitAt, mark, A__SPLITAT, MARK, A__U11, A__SND, A__U21, A__U31, A__U41, A__U51, A__HEAD, a__afterNth, A__AFTERNTH, A__U61, A__U71, A__U81, A__U82, A__U91, a__and, a__isNatural, A__AND, A__ISNATURAL, a__isLNat, A__ISLNAT, A__ISPLNAT, A__NATSFROM, A__TAIL, a__U101, a__fst, a__U11, a__snd, a__U21, a__U31, a__U41, a__U51, a__head, a__U61, a__U81, a__U82, a__U91, a__isPLNat, a__natsFrom, a__tail They will be analysed ascendingly in the following order: A__U101 = A__FST a__splitAt < A__U101 mark < A__U101 A__U101 = A__SPLITAT A__U101 = MARK A__U101 = A__U11 A__U101 = A__SND A__U101 = A__U21 A__U101 = A__U31 A__U101 = A__U41 A__U101 = A__U51 A__U101 = A__HEAD A__U101 = A__AFTERNTH A__U101 = A__U61 A__U101 = A__U71 A__U101 = A__U81 A__U101 = A__U82 A__U101 = A__U91 A__U101 = A__AND A__U101 = A__ISNATURAL A__U101 = A__ISLNAT A__U101 = A__ISPLNAT A__U101 = A__NATSFROM A__U101 = A__TAIL A__FST = A__SPLITAT A__FST = MARK A__FST = A__U11 A__FST = A__SND A__FST = A__U21 A__FST = A__U31 A__FST = A__U41 A__FST = A__U51 A__FST = A__HEAD A__FST = A__AFTERNTH A__FST = A__U61 A__FST = A__U71 A__FST = A__U81 A__FST = A__U82 A__FST = A__U91 a__and < A__FST A__FST = A__AND A__FST = A__ISNATURAL a__isLNat < A__FST A__FST = A__ISLNAT A__FST = A__ISPLNAT A__FST = A__NATSFROM A__FST = A__TAIL a__splitAt = mark a__splitAt < A__U11 a__splitAt = a__afterNth a__splitAt < A__U81 a__splitAt = a__and a__splitAt = a__isNatural a__splitAt = a__isLNat a__splitAt = a__U101 a__splitAt = a__fst a__splitAt = a__U11 a__splitAt = a__snd a__splitAt = a__U21 a__splitAt = a__U31 a__splitAt = a__U41 a__splitAt = a__U51 a__splitAt = a__head a__splitAt = a__U61 a__splitAt = a__U71 a__splitAt = a__U81 a__splitAt = a__U82 a__splitAt = a__U91 a__splitAt = a__isPLNat a__splitAt = a__natsFrom a__splitAt = a__tail mark < MARK mark < A__U11 mark < A__U51 mark = a__afterNth mark < A__U81 mark = a__and mark = a__isNatural mark = a__isLNat mark = a__U101 mark = a__fst mark = a__U11 mark = a__snd mark = a__U21 mark = a__U31 mark = a__U41 mark = a__U51 mark = a__head mark = a__U61 mark = a__U71 mark = a__U81 mark = a__U82 mark = a__U91 mark = a__isPLNat mark = a__natsFrom mark = a__tail A__SPLITAT = MARK A__SPLITAT = A__U11 A__SPLITAT = A__SND A__SPLITAT = A__U21 A__SPLITAT = A__U31 A__SPLITAT = A__U41 A__SPLITAT = A__U51 A__SPLITAT = A__HEAD A__SPLITAT = A__AFTERNTH A__SPLITAT = A__U61 A__SPLITAT = A__U71 A__SPLITAT = A__U81 A__SPLITAT = A__U82 A__SPLITAT = A__U91 a__and < A__SPLITAT a__isNatural < A__SPLITAT A__SPLITAT = A__AND A__SPLITAT = A__ISNATURAL a__isLNat < A__SPLITAT A__SPLITAT = A__ISLNAT A__SPLITAT = A__ISPLNAT A__SPLITAT = A__NATSFROM A__SPLITAT = A__TAIL MARK = A__U11 MARK = A__SND MARK = A__U21 MARK = A__U31 MARK = A__U41 MARK = A__U51 MARK = A__HEAD MARK = A__AFTERNTH MARK = A__U61 MARK = A__U71 MARK = A__U81 MARK = A__U82 MARK = A__U91 a__and < MARK a__isNatural < MARK MARK = A__AND MARK = A__ISNATURAL MARK = A__ISLNAT MARK = A__ISPLNAT MARK = A__NATSFROM MARK = A__TAIL A__U11 = A__SND A__U11 = A__U21 A__U11 = A__U31 A__U11 = A__U41 A__U11 = A__U51 A__U11 = A__HEAD A__U11 = A__AFTERNTH A__U11 = A__U61 A__U11 = A__U71 A__U11 = A__U81 A__U11 = A__U82 A__U11 = A__U91 A__U11 = A__AND A__U11 = A__ISNATURAL A__U11 = A__ISLNAT A__U11 = A__ISPLNAT A__U11 = A__NATSFROM A__U11 = A__TAIL A__SND = A__U21 A__SND = A__U31 A__SND = A__U41 A__SND = A__U51 A__SND = A__HEAD A__SND = A__AFTERNTH A__SND = A__U61 A__SND = A__U71 A__SND = A__U81 A__SND = A__U82 A__SND = A__U91 a__and < A__SND A__SND = A__AND A__SND = A__ISNATURAL a__isLNat < A__SND A__SND = A__ISLNAT A__SND = A__ISPLNAT A__SND = A__NATSFROM A__SND = A__TAIL A__U21 = A__U31 A__U21 = A__U41 A__U21 = A__U51 A__U21 = A__HEAD A__U21 = A__AFTERNTH A__U21 = A__U61 A__U21 = A__U71 A__U21 = A__U81 A__U21 = A__U82 A__U21 = A__U91 A__U21 = A__AND A__U21 = A__ISNATURAL A__U21 = A__ISLNAT A__U21 = A__ISPLNAT A__U21 = A__NATSFROM A__U21 = A__TAIL A__U31 = A__U41 A__U31 = A__U51 A__U31 = A__HEAD A__U31 = A__AFTERNTH A__U31 = A__U61 A__U31 = A__U71 A__U31 = A__U81 A__U31 = A__U82 A__U31 = A__U91 A__U31 = A__AND A__U31 = A__ISNATURAL A__U31 = A__ISLNAT A__U31 = A__ISPLNAT A__U31 = A__NATSFROM A__U31 = A__TAIL A__U41 = A__U51 A__U41 = A__HEAD A__U41 = A__AFTERNTH A__U41 = A__U61 A__U41 = A__U71 A__U41 = A__U81 A__U41 = A__U82 A__U41 = A__U91 A__U41 = A__AND A__U41 = A__ISNATURAL A__U41 = A__ISLNAT A__U41 = A__ISPLNAT A__U41 = A__NATSFROM A__U41 = A__TAIL A__U51 = A__HEAD a__afterNth < A__U51 A__U51 = A__AFTERNTH A__U51 = A__U61 A__U51 = A__U71 A__U51 = A__U81 A__U51 = A__U82 A__U51 = A__U91 A__U51 = A__AND A__U51 = A__ISNATURAL A__U51 = A__ISLNAT A__U51 = A__ISPLNAT A__U51 = A__NATSFROM A__U51 = A__TAIL A__HEAD = A__AFTERNTH A__HEAD = A__U61 A__HEAD = A__U71 A__HEAD = A__U81 A__HEAD = A__U82 A__HEAD = A__U91 a__and < A__HEAD a__isNatural < A__HEAD A__HEAD = A__AND A__HEAD = A__ISNATURAL A__HEAD = A__ISLNAT A__HEAD = A__ISPLNAT A__HEAD = A__NATSFROM A__HEAD = A__TAIL a__afterNth = a__and a__afterNth = a__isNatural a__afterNth = a__isLNat a__afterNth = a__U101 a__afterNth = a__fst a__afterNth = a__U11 a__afterNth = a__snd a__afterNth = a__U21 a__afterNth = a__U31 a__afterNth = a__U41 a__afterNth = a__U51 a__afterNth = a__head a__afterNth = a__U61 a__afterNth = a__U71 a__afterNth = a__U81 a__afterNth = a__U82 a__afterNth = a__U91 a__afterNth = a__isPLNat a__afterNth = a__natsFrom a__afterNth = a__tail A__AFTERNTH = A__U61 A__AFTERNTH = A__U71 A__AFTERNTH = A__U81 A__AFTERNTH = A__U82 A__AFTERNTH = A__U91 a__and < A__AFTERNTH a__isNatural < A__AFTERNTH A__AFTERNTH = A__AND A__AFTERNTH = A__ISNATURAL A__AFTERNTH = A__ISLNAT A__AFTERNTH = A__ISPLNAT A__AFTERNTH = A__NATSFROM A__AFTERNTH = A__TAIL A__U61 = A__U71 A__U61 = A__U81 A__U61 = A__U82 A__U61 = A__U91 A__U61 = A__AND A__U61 = A__ISNATURAL A__U61 = A__ISLNAT A__U61 = A__ISPLNAT A__U61 = A__NATSFROM A__U61 = A__TAIL A__U71 = A__U81 A__U71 = A__U82 A__U71 = A__U91 A__U71 = A__AND A__U71 = A__ISNATURAL A__U71 = A__ISLNAT A__U71 = A__ISPLNAT A__U71 = A__NATSFROM A__U71 = A__TAIL A__U81 = A__U82 A__U81 = A__U91 A__U81 = A__AND A__U81 = A__ISNATURAL A__U81 = A__ISLNAT A__U81 = A__ISPLNAT A__U81 = A__NATSFROM A__U81 = A__TAIL A__U82 = A__U91 A__U82 = A__AND A__U82 = A__ISNATURAL A__U82 = A__ISLNAT A__U82 = A__ISPLNAT A__U82 = A__NATSFROM A__U82 = A__TAIL A__U91 = A__AND A__U91 = A__ISNATURAL A__U91 = A__ISLNAT A__U91 = A__ISPLNAT A__U91 = A__NATSFROM A__U91 = A__TAIL a__and = a__isNatural a__and = a__isLNat a__and < A__TAIL a__and = a__U101 a__and = a__fst a__and = a__U11 a__and = a__snd a__and = a__U21 a__and = a__U31 a__and = a__U41 a__and = a__U51 a__and = a__head a__and = a__U61 a__and = a__U71 a__and = a__U81 a__and = a__U82 a__and = a__U91 a__and = a__isPLNat a__and = a__natsFrom a__and = a__tail a__isNatural < A__ISNATURAL a__isNatural = a__isLNat a__isNatural < A__ISLNAT a__isNatural < A__ISPLNAT a__isNatural < A__NATSFROM a__isNatural < A__TAIL a__isNatural = a__U101 a__isNatural = a__fst a__isNatural = a__U11 a__isNatural = a__snd a__isNatural = a__U21 a__isNatural = a__U31 a__isNatural = a__U41 a__isNatural = a__U51 a__isNatural = a__head a__isNatural = a__U61 a__isNatural = a__U71 a__isNatural = a__U81 a__isNatural = a__U82 a__isNatural = a__U91 a__isNatural = a__isPLNat a__isNatural = a__natsFrom a__isNatural = a__tail A__AND = A__ISNATURAL A__AND = A__ISLNAT A__AND = A__ISPLNAT A__AND = A__NATSFROM A__AND = A__TAIL A__ISNATURAL = A__ISLNAT A__ISNATURAL = A__ISPLNAT A__ISNATURAL = A__NATSFROM A__ISNATURAL = A__TAIL a__isLNat < A__ISPLNAT a__isLNat = a__U101 a__isLNat = a__fst a__isLNat = a__U11 a__isLNat = a__snd a__isLNat = a__U21 a__isLNat = a__U31 a__isLNat = a__U41 a__isLNat = a__U51 a__isLNat = a__head a__isLNat = a__U61 a__isLNat = a__U71 a__isLNat = a__U81 a__isLNat = a__U82 a__isLNat = a__U91 a__isLNat = a__isPLNat a__isLNat = a__natsFrom a__isLNat = a__tail A__ISLNAT = A__ISPLNAT A__ISLNAT = A__NATSFROM A__ISLNAT = A__TAIL A__ISPLNAT = A__NATSFROM A__ISPLNAT = A__TAIL A__NATSFROM = A__TAIL a__U101 = a__fst a__U101 = a__U11 a__U101 = a__snd a__U101 = a__U21 a__U101 = a__U31 a__U101 = a__U41 a__U101 = a__U51 a__U101 = a__head a__U101 = a__U61 a__U101 = a__U71 a__U101 = a__U81 a__U101 = a__U82 a__U101 = a__U91 a__U101 = a__isPLNat a__U101 = a__natsFrom a__U101 = a__tail a__fst = a__U11 a__fst = a__snd a__fst = a__U21 a__fst = a__U31 a__fst = a__U41 a__fst = a__U51 a__fst = a__head a__fst = a__U61 a__fst = a__U71 a__fst = a__U81 a__fst = a__U82 a__fst = a__U91 a__fst = a__isPLNat a__fst = a__natsFrom a__fst = a__tail a__U11 = a__snd a__U11 = a__U21 a__U11 = a__U31 a__U11 = a__U41 a__U11 = a__U51 a__U11 = a__head a__U11 = a__U61 a__U11 = a__U71 a__U11 = a__U81 a__U11 = a__U82 a__U11 = a__U91 a__U11 = a__isPLNat a__U11 = a__natsFrom a__U11 = a__tail a__snd = a__U21 a__snd = a__U31 a__snd = a__U41 a__snd = a__U51 a__snd = a__head a__snd = a__U61 a__snd = a__U71 a__snd = a__U81 a__snd = a__U82 a__snd = a__U91 a__snd = a__isPLNat a__snd = a__natsFrom a__snd = a__tail a__U21 = a__U31 a__U21 = a__U41 a__U21 = a__U51 a__U21 = a__head a__U21 = a__U61 a__U21 = a__U71 a__U21 = a__U81 a__U21 = a__U82 a__U21 = a__U91 a__U21 = a__isPLNat a__U21 = a__natsFrom a__U21 = a__tail a__U31 = a__U41 a__U31 = a__U51 a__U31 = a__head a__U31 = a__U61 a__U31 = a__U71 a__U31 = a__U81 a__U31 = a__U82 a__U31 = a__U91 a__U31 = a__isPLNat a__U31 = a__natsFrom a__U31 = a__tail a__U41 = a__U51 a__U41 = a__head a__U41 = a__U61 a__U41 = a__U71 a__U41 = a__U81 a__U41 = a__U82 a__U41 = a__U91 a__U41 = a__isPLNat a__U41 = a__natsFrom a__U41 = a__tail a__U51 = a__head a__U51 = a__U61 a__U51 = a__U71 a__U51 = a__U81 a__U51 = a__U82 a__U51 = a__U91 a__U51 = a__isPLNat a__U51 = a__natsFrom a__U51 = a__tail a__head = a__U61 a__head = a__U71 a__head = a__U81 a__head = a__U82 a__head = a__U91 a__head = a__isPLNat a__head = a__natsFrom a__head = a__tail a__U61 = a__U71 a__U61 = a__U81 a__U61 = a__U82 a__U61 = a__U91 a__U61 = a__isPLNat a__U61 = a__natsFrom a__U61 = a__tail a__U71 = a__U81 a__U71 = a__U82 a__U71 = a__U91 a__U71 = a__isPLNat a__U71 = a__natsFrom a__U71 = a__tail a__U81 = a__U82 a__U81 = a__U91 a__U81 = a__isPLNat a__U81 = a__natsFrom a__U81 = a__tail a__U82 = a__U91 a__U82 = a__isPLNat a__U82 = a__natsFrom a__U82 = a__tail a__U91 = a__isPLNat a__U91 = a__natsFrom a__U91 = a__tail a__isPLNat = a__natsFrom a__isPLNat = a__tail a__natsFrom = a__tail ---------------------------------------- (17) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (18) 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 ---------------------------------------- (19) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (20) 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 ---------------------------------------- (21) 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 ---------------------------------------- (22) 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 ---------------------------------------- (23) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (24) 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 ---------------------------------------- (25) 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 ---------------------------------------- (26) 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 ---------------------------------------- (27) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (28) 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 ---------------------------------------- (29) 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 ---------------------------------------- (30) 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 ---------------------------------------- (31) 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 ---------------------------------------- (32) 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. ---------------------------------------- (33) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (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__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 ---------------------------------------- (35) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 29 trailing nodes: A__U11(z0, z1, z2) -> c5 A__U101(z0, z1, z2) -> c2 A__SND(z0) -> c57 A__U91(z0, z1) -> c26 A__HEAD(z0) -> c34 A__FST(z0) -> c32 A__NATSFROM(z0) -> c53 A__U81(z0, z1, z2, z3) -> c21 A__U71(z0, z1) -> c18 MARK(nil) -> c98 A__U31(z0, z1) -> c9 A__U21(z0, z1) -> c7 A__ISLNAT(z0) -> c43 A__ISLNAT(nil) -> c35 A__ISNATURAL(z0) -> c48 MARK(tt) -> c93 A__ISPLNAT(z0) -> c51 MARK(0) -> c99 A__TAKE(z0, z1) -> c64 A__AFTERNTH(z0, z1) -> c28 A__U82(z0, z1) -> c24 A__SPLITAT(z0, z1) -> c60 A__AND(z0, z1) -> c30 A__ISNATURAL(0) -> c44 A__U61(z0, z1) -> c16 A__SEL(z0, z1) -> c55 A__U41(z0, z1) -> c11 A__U51(z0, z1, z2) -> c14 A__TAIL(z0) -> c62 ---------------------------------------- (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__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 ---------------------------------------- (37) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (38) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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)) The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (39) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (40) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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)) 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 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (41) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (42) 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, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U21(tt, z0) -> c6(MARK(z0)) [1] A__U31(tt, z0) -> c8(MARK(z0)) [1] A__U41(tt, z0) -> c10(MARK(z0)) [1] A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] A__U61(tt, z0) -> c15(MARK(z0)) [1] A__U71(tt, z0) -> c17(MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) [1] A__U91(tt, z0) -> c25(MARK(z0)) [1] 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)) [1] A__AND(tt, z0) -> c29(MARK(z0)) [1] 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)) [1] 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)) [1] A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) [1] A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) [1] A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) [1] A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) [1] A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) [1] A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) [1] A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) [1] A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) [1] 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)) [1] 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)) [1] A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) [1] 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)) [1] 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)) [1] 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)) [1] MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) [1] MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) [1] MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) [1] MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) [1] MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) [1] MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) [1] MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) [1] MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) [1] MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) [1] MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) [1] MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) [1] MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) [1] MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) [1] MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) [1] MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) [1] MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) [1] MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c94(MARK(z0)) [1] MARK(s(z0)) -> c95(MARK(z0)) [1] MARK(pair(z0, z1)) -> c96(MARK(z0)) [1] MARK(pair(z0, z1)) -> c97(MARK(z1)) [1] a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) [0] a__U101(z0, z1, z2) -> U101(z0, z1, z2) [0] a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) [0] a__U11(z0, z1, z2) -> U11(z0, z1, z2) [0] a__U21(tt, z0) -> mark(z0) [0] a__U21(z0, z1) -> U21(z0, z1) [0] a__U31(tt, z0) -> mark(z0) [0] a__U31(z0, z1) -> U31(z0, z1) [0] a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) [0] a__U51(z0, z1, z2) -> U51(z0, z1, z2) [0] a__U61(tt, z0) -> mark(z0) [0] a__U61(z0, z1) -> U61(z0, z1) [0] a__U71(tt, z0) -> pair(nil, mark(z0)) [0] a__U71(z0, z1) -> U71(z0, z1) [0] a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) [0] a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) [0] a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) [0] a__U82(z0, z1) -> U82(z0, z1) [0] a__U91(tt, z0) -> mark(z0) [0] a__U91(z0, z1) -> U91(z0, z1) [0] a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__afterNth(z0, z1) -> afterNth(z0, z1) [0] a__and(tt, z0) -> mark(z0) [0] a__and(z0, z1) -> and(z0, z1) [0] a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) [0] a__fst(z0) -> fst(z0) [0] a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) [0] a__head(z0) -> head(z0) [0] a__isLNat(nil) -> tt [0] a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(fst(z0)) -> a__isPLNat(z0) [0] a__isLNat(natsFrom(z0)) -> a__isNatural(z0) [0] a__isLNat(snd(z0)) -> a__isPLNat(z0) [0] a__isLNat(tail(z0)) -> a__isLNat(z0) [0] a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(z0) -> isLNat(z0) [0] a__isNatural(0) -> tt [0] a__isNatural(head(z0)) -> a__isLNat(z0) [0] a__isNatural(s(z0)) -> a__isNatural(z0) [0] a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isNatural(z0) -> isNatural(z0) [0] a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) [0] a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isPLNat(z0) -> isPLNat(z0) [0] a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) [0] a__natsFrom(z0) -> natsFrom(z0) [0] a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__sel(z0, z1) -> sel(z0, z1) [0] a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) [0] a__snd(z0) -> snd(z0) [0] a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) [0] a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) [0] a__splitAt(z0, z1) -> splitAt(z0, z1) [0] a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) [0] a__tail(z0) -> tail(z0) [0] a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__take(z0, z1) -> take(z0, z1) [0] mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) [0] mark(fst(z0)) -> a__fst(mark(z0)) [0] mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) [0] mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) [0] mark(snd(z0)) -> a__snd(mark(z0)) [0] mark(U21(z0, z1)) -> a__U21(mark(z0), z1) [0] mark(U31(z0, z1)) -> a__U31(mark(z0), z1) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) [0] mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) [0] mark(U61(z0, z1)) -> a__U61(mark(z0), z1) [0] mark(U71(z0, z1)) -> a__U71(mark(z0), z1) [0] mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) [0] mark(U82(z0, z1)) -> a__U82(mark(z0), z1) [0] mark(U91(z0, z1)) -> a__U91(mark(z0), z1) [0] mark(and(z0, z1)) -> a__and(mark(z0), z1) [0] mark(isNatural(z0)) -> a__isNatural(z0) [0] mark(isLNat(z0)) -> a__isLNat(z0) [0] mark(isPLNat(z0)) -> a__isPLNat(z0) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) [0] mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) [0] mark(tt) -> tt [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (43) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (44) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U21(tt, z0) -> c6(MARK(z0)) [1] A__U31(tt, z0) -> c8(MARK(z0)) [1] A__U41(tt, z0) -> c10(MARK(z0)) [1] A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] A__U61(tt, z0) -> c15(MARK(z0)) [1] A__U71(tt, z0) -> c17(MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) [1] A__U91(tt, z0) -> c25(MARK(z0)) [1] 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)) [1] A__AND(tt, z0) -> c29(MARK(z0)) [1] 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)) [1] 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)) [1] A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) [1] A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) [1] A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) [1] A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) [1] A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) [1] A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) [1] A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) [1] A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) [1] 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)) [1] 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)) [1] A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) [1] 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)) [1] 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)) [1] 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)) [1] MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) [1] MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) [1] MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) [1] MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) [1] MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) [1] MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) [1] MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) [1] MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) [1] MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) [1] MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) [1] MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) [1] MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) [1] MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) [1] MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) [1] MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) [1] MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) [1] MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c94(MARK(z0)) [1] MARK(s(z0)) -> c95(MARK(z0)) [1] MARK(pair(z0, z1)) -> c96(MARK(z0)) [1] MARK(pair(z0, z1)) -> c97(MARK(z1)) [1] a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) [0] a__U101(z0, z1, z2) -> U101(z0, z1, z2) [0] a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) [0] a__U11(z0, z1, z2) -> U11(z0, z1, z2) [0] a__U21(tt, z0) -> mark(z0) [0] a__U21(z0, z1) -> U21(z0, z1) [0] a__U31(tt, z0) -> mark(z0) [0] a__U31(z0, z1) -> U31(z0, z1) [0] a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) [0] a__U51(z0, z1, z2) -> U51(z0, z1, z2) [0] a__U61(tt, z0) -> mark(z0) [0] a__U61(z0, z1) -> U61(z0, z1) [0] a__U71(tt, z0) -> pair(nil, mark(z0)) [0] a__U71(z0, z1) -> U71(z0, z1) [0] a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) [0] a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) [0] a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) [0] a__U82(z0, z1) -> U82(z0, z1) [0] a__U91(tt, z0) -> mark(z0) [0] a__U91(z0, z1) -> U91(z0, z1) [0] a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__afterNth(z0, z1) -> afterNth(z0, z1) [0] a__and(tt, z0) -> mark(z0) [0] a__and(z0, z1) -> and(z0, z1) [0] a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) [0] a__fst(z0) -> fst(z0) [0] a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) [0] a__head(z0) -> head(z0) [0] a__isLNat(nil) -> tt [0] a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(fst(z0)) -> a__isPLNat(z0) [0] a__isLNat(natsFrom(z0)) -> a__isNatural(z0) [0] a__isLNat(snd(z0)) -> a__isPLNat(z0) [0] a__isLNat(tail(z0)) -> a__isLNat(z0) [0] a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(z0) -> isLNat(z0) [0] a__isNatural(0) -> tt [0] a__isNatural(head(z0)) -> a__isLNat(z0) [0] a__isNatural(s(z0)) -> a__isNatural(z0) [0] a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isNatural(z0) -> isNatural(z0) [0] a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) [0] a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isPLNat(z0) -> isPLNat(z0) [0] a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) [0] a__natsFrom(z0) -> natsFrom(z0) [0] a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__sel(z0, z1) -> sel(z0, z1) [0] a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) [0] a__snd(z0) -> snd(z0) [0] a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) [0] a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) [0] a__splitAt(z0, z1) -> splitAt(z0, z1) [0] a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) [0] a__tail(z0) -> tail(z0) [0] a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__take(z0, z1) -> take(z0, z1) [0] mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) [0] mark(fst(z0)) -> a__fst(mark(z0)) [0] mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) [0] mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) [0] mark(snd(z0)) -> a__snd(mark(z0)) [0] mark(U21(z0, z1)) -> a__U21(mark(z0), z1) [0] mark(U31(z0, z1)) -> a__U31(mark(z0), z1) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) [0] mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) [0] mark(U61(z0, z1)) -> a__U61(mark(z0), z1) [0] mark(U71(z0, z1)) -> a__U71(mark(z0), z1) [0] mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) [0] mark(U82(z0, z1)) -> a__U82(mark(z0), z1) [0] mark(U91(z0, z1)) -> a__U91(mark(z0), z1) [0] mark(and(z0, z1)) -> a__and(mark(z0), z1) [0] mark(isNatural(z0)) -> a__isNatural(z0) [0] mark(isLNat(z0)) -> a__isLNat(z0) [0] mark(isPLNat(z0)) -> a__isPLNat(z0) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) [0] mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) [0] mark(tt) -> tt [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] The TRS has the following type information: A__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c:c1 tt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c :: c31 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c:c1 A__FST :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c31 a__splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil mark :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil A__SPLITAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c58:c59 MARK :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c1 :: c31 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c:c1 A__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c3:c4 c3 :: c56 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c3:c4 A__SND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c56 c4 :: c56 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c3:c4 A__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c6 c6 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c6 A__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c8 c8 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c8 A__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c10 c10 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c10 A__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c12:c13 c12 :: c33 -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c12:c13 A__HEAD :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c33 a__afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil A__AFTERNTH :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c27 c13 :: c33 -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c12:c13 A__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c15 c15 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c15 A__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c17 c17 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c17 A__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c19:c20 c19 :: c22:c23 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c19:c20 A__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c22:c23 c20 :: c22:c23 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c19:c20 pair :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c22 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c22:c23 c23 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c22:c23 A__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c25 c25 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c25 c27 :: c3:c4 -> c29 -> c45:c46:c47 -> c27 a__and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil A__AND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c29 A__ISNATURAL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c45:c46:c47 c29 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c29 c31 :: c6 -> c29 -> c36:c37:c38:c39:c40:c41:c42 -> c31 a__isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil A__ISLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c36:c37:c38:c39:c40:c41:c42 cons :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c33 :: c8 -> c29 -> c45:c46:c47 -> c33 afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c36 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 c37 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c38 :: c49:c50 -> c36:c37:c38:c39:c40:c41:c42 A__ISPLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c49:c50 natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c39 :: c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c40 :: c49:c50 -> c36:c37:c38:c39:c40:c41:c42 tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c41 :: c36:c37:c38:c39:c40:c41:c42 -> c36:c37:c38:c39:c40:c41:c42 take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c42 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c45 :: c36:c37:c38:c39:c40:c41:c42 -> c45:c46:c47 s :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c46 :: c45:c46:c47 -> c45:c46:c47 sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c47 :: c29 -> c45:c46:c47 -> c45:c46:c47 c49 :: c29 -> c36:c37:c38:c39:c40:c41:c42 -> c49:c50 splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c50 :: c29 -> c45:c46:c47 -> c49:c50 A__NATSFROM :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c52 c52 :: c10 -> c45:c46:c47 -> c52 A__SEL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c54 c54 :: c12:c13 -> c29 -> c45:c46:c47 -> c54 c56 :: c15 -> c29 -> c36:c37:c38:c39:c40:c41:c42 -> c56 0 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c58 :: c17 -> c36:c37:c38:c39:c40:c41:c42 -> c58:c59 c59 :: c19:c20 -> c29 -> c45:c46:c47 -> c58:c59 and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil A__TAIL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c61 c61 :: c25 -> c29 -> c45:c46:c47 -> c61 A__TAKE :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> c63 c63 :: c:c1 -> c29 -> c45:c46:c47 -> c63 U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c65 :: c:c1 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c66 :: c31 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c67 :: c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c68 :: c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c69 :: c3:c4 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c70 :: c56 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c71 :: c6 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c72 :: c8 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c73 :: c10 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c74 :: c52 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c75 :: c12:c13 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c76 :: c33 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c77 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c78 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c79 :: c15 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c80 :: c17 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c81 :: c19:c20 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c82 :: c22:c23 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c83 :: c25 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c84 :: c29 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c85 :: c45:c46:c47 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c86 :: c36:c37:c38:c39:c40:c41:c42 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil c87 :: c49:c50 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c88 :: c61 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c89 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c90 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c91 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c92 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c94 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c95 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c96 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c97 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 a__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil nil :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil a__take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil Rewrite Strategy: INNERMOST ---------------------------------------- (45) 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: 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 (c) The following functions are completely defined: 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 Due to the following rules being added: a__U101(v0, v1, v2) -> null_a__U101 [0] a__U11(v0, v1, v2) -> null_a__U11 [0] a__U21(v0, v1) -> null_a__U21 [0] a__U31(v0, v1) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U51(v0, v1, v2) -> null_a__U51 [0] a__U61(v0, v1) -> null_a__U61 [0] a__U71(v0, v1) -> null_a__U71 [0] a__U81(v0, v1, v2, v3) -> null_a__U81 [0] a__U82(v0, v1) -> null_a__U82 [0] a__U91(v0, v1) -> null_a__U91 [0] a__afterNth(v0, v1) -> null_a__afterNth [0] a__and(v0, v1) -> null_a__and [0] a__fst(v0) -> null_a__fst [0] a__head(v0) -> null_a__head [0] a__isLNat(v0) -> null_a__isLNat [0] a__isNatural(v0) -> null_a__isNatural [0] a__isPLNat(v0) -> null_a__isPLNat [0] a__natsFrom(v0) -> null_a__natsFrom [0] a__sel(v0, v1) -> null_a__sel [0] a__snd(v0) -> null_a__snd [0] a__splitAt(v0, v1) -> null_a__splitAt [0] a__tail(v0) -> null_a__tail [0] a__take(v0, v1) -> null_a__take [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__U101, null_a__U11, null_a__U21, null_a__U31, null_a__U41, null_a__U51, null_a__U61, null_a__U71, null_a__U81, null_a__U82, null_a__U91, null_a__afterNth, null_a__and, null_a__fst, null_a__head, null_a__isLNat, null_a__isNatural, null_a__isPLNat, null_a__natsFrom, null_a__sel, null_a__snd, null_a__splitAt, null_a__tail, null_a__take, null_mark, const, const1, const2, const3, const4, const5, const6, const7, const8, const9, const10, const11, const12, const13, const14, const15, const16, const17, const18, const19, const20, const21, const22, const23, const24 ---------------------------------------- (46) 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, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U21(tt, z0) -> c6(MARK(z0)) [1] A__U31(tt, z0) -> c8(MARK(z0)) [1] A__U41(tt, z0) -> c10(MARK(z0)) [1] A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] A__U61(tt, z0) -> c15(MARK(z0)) [1] A__U71(tt, z0) -> c17(MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) [1] A__U91(tt, z0) -> c25(MARK(z0)) [1] 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)) [1] A__AND(tt, z0) -> c29(MARK(z0)) [1] 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)) [1] 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)) [1] A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) [1] A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) [1] A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) [1] A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) [1] A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) [1] A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) [1] A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) [1] A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) [1] 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)) [1] 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)) [1] A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) [1] 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)) [1] 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)) [1] 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)) [1] MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) [1] MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) [1] MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) [1] MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) [1] MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) [1] MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) [1] MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) [1] MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) [1] MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) [1] MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) [1] MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) [1] MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) [1] MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) [1] MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) [1] MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) [1] MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) [1] MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c94(MARK(z0)) [1] MARK(s(z0)) -> c95(MARK(z0)) [1] MARK(pair(z0, z1)) -> c96(MARK(z0)) [1] MARK(pair(z0, z1)) -> c97(MARK(z1)) [1] a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) [0] a__U101(z0, z1, z2) -> U101(z0, z1, z2) [0] a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) [0] a__U11(z0, z1, z2) -> U11(z0, z1, z2) [0] a__U21(tt, z0) -> mark(z0) [0] a__U21(z0, z1) -> U21(z0, z1) [0] a__U31(tt, z0) -> mark(z0) [0] a__U31(z0, z1) -> U31(z0, z1) [0] a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) [0] a__U51(z0, z1, z2) -> U51(z0, z1, z2) [0] a__U61(tt, z0) -> mark(z0) [0] a__U61(z0, z1) -> U61(z0, z1) [0] a__U71(tt, z0) -> pair(nil, mark(z0)) [0] a__U71(z0, z1) -> U71(z0, z1) [0] a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) [0] a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) [0] a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) [0] a__U82(z0, z1) -> U82(z0, z1) [0] a__U91(tt, z0) -> mark(z0) [0] a__U91(z0, z1) -> U91(z0, z1) [0] a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__afterNth(z0, z1) -> afterNth(z0, z1) [0] a__and(tt, z0) -> mark(z0) [0] a__and(z0, z1) -> and(z0, z1) [0] a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) [0] a__fst(z0) -> fst(z0) [0] a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) [0] a__head(z0) -> head(z0) [0] a__isLNat(nil) -> tt [0] a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(fst(z0)) -> a__isPLNat(z0) [0] a__isLNat(natsFrom(z0)) -> a__isNatural(z0) [0] a__isLNat(snd(z0)) -> a__isPLNat(z0) [0] a__isLNat(tail(z0)) -> a__isLNat(z0) [0] a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(z0) -> isLNat(z0) [0] a__isNatural(0) -> tt [0] a__isNatural(head(z0)) -> a__isLNat(z0) [0] a__isNatural(s(z0)) -> a__isNatural(z0) [0] a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isNatural(z0) -> isNatural(z0) [0] a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) [0] a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isPLNat(z0) -> isPLNat(z0) [0] a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) [0] a__natsFrom(z0) -> natsFrom(z0) [0] a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__sel(z0, z1) -> sel(z0, z1) [0] a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) [0] a__snd(z0) -> snd(z0) [0] a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) [0] a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) [0] a__splitAt(z0, z1) -> splitAt(z0, z1) [0] a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) [0] a__tail(z0) -> tail(z0) [0] a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__take(z0, z1) -> take(z0, z1) [0] mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) [0] mark(fst(z0)) -> a__fst(mark(z0)) [0] mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) [0] mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) [0] mark(snd(z0)) -> a__snd(mark(z0)) [0] mark(U21(z0, z1)) -> a__U21(mark(z0), z1) [0] mark(U31(z0, z1)) -> a__U31(mark(z0), z1) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) [0] mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) [0] mark(U61(z0, z1)) -> a__U61(mark(z0), z1) [0] mark(U71(z0, z1)) -> a__U71(mark(z0), z1) [0] mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) [0] mark(U82(z0, z1)) -> a__U82(mark(z0), z1) [0] mark(U91(z0, z1)) -> a__U91(mark(z0), z1) [0] mark(and(z0, z1)) -> a__and(mark(z0), z1) [0] mark(isNatural(z0)) -> a__isNatural(z0) [0] mark(isLNat(z0)) -> a__isLNat(z0) [0] mark(isPLNat(z0)) -> a__isPLNat(z0) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) [0] mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) [0] mark(tt) -> tt [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] a__U101(v0, v1, v2) -> null_a__U101 [0] a__U11(v0, v1, v2) -> null_a__U11 [0] a__U21(v0, v1) -> null_a__U21 [0] a__U31(v0, v1) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U51(v0, v1, v2) -> null_a__U51 [0] a__U61(v0, v1) -> null_a__U61 [0] a__U71(v0, v1) -> null_a__U71 [0] a__U81(v0, v1, v2, v3) -> null_a__U81 [0] a__U82(v0, v1) -> null_a__U82 [0] a__U91(v0, v1) -> null_a__U91 [0] a__afterNth(v0, v1) -> null_a__afterNth [0] a__and(v0, v1) -> null_a__and [0] a__fst(v0) -> null_a__fst [0] a__head(v0) -> null_a__head [0] a__isLNat(v0) -> null_a__isLNat [0] a__isNatural(v0) -> null_a__isNatural [0] a__isPLNat(v0) -> null_a__isPLNat [0] a__natsFrom(v0) -> null_a__natsFrom [0] a__sel(v0, v1) -> null_a__sel [0] a__snd(v0) -> null_a__snd [0] a__splitAt(v0, v1) -> null_a__splitAt [0] a__tail(v0) -> null_a__tail [0] a__take(v0, v1) -> null_a__take [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c:c1 tt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c :: c31 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c:c1 A__FST :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c31 a__splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark mark :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__SPLITAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c58:c59 MARK :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c1 :: c31 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c:c1 A__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c3:c4 c3 :: c56 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c3:c4 A__SND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c56 c4 :: c56 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c3:c4 A__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c6 c6 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c6 A__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c8 c8 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c8 A__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c10 c10 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c10 A__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c12:c13 c12 :: c33 -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c12:c13 A__HEAD :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c33 a__afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__AFTERNTH :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c27 c13 :: c33 -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c12:c13 A__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c15 c15 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c15 A__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c17 c17 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c17 A__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c19:c20 c19 :: c22:c23 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c19:c20 A__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c22:c23 c20 :: c22:c23 -> c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c19:c20 pair :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c22 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c22:c23 c23 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c22:c23 A__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c25 c25 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c25 c27 :: c3:c4 -> c29 -> c45:c46:c47 -> c27 a__and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__AND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c29 A__ISNATURAL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c45:c46:c47 c29 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c29 c31 :: c6 -> c29 -> c36:c37:c38:c39:c40:c41:c42 -> c31 a__isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__ISLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c36:c37:c38:c39:c40:c41:c42 cons :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c33 :: c8 -> c29 -> c45:c46:c47 -> c33 afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c36 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 c37 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c38 :: c49:c50 -> c36:c37:c38:c39:c40:c41:c42 A__ISPLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c49:c50 natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c39 :: c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c40 :: c49:c50 -> c36:c37:c38:c39:c40:c41:c42 tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c41 :: c36:c37:c38:c39:c40:c41:c42 -> c36:c37:c38:c39:c40:c41:c42 take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c42 :: c29 -> c45:c46:c47 -> c36:c37:c38:c39:c40:c41:c42 head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c45 :: c36:c37:c38:c39:c40:c41:c42 -> c45:c46:c47 s :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c46 :: c45:c46:c47 -> c45:c46:c47 sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c47 :: c29 -> c45:c46:c47 -> c45:c46:c47 c49 :: c29 -> c36:c37:c38:c39:c40:c41:c42 -> c49:c50 splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c50 :: c29 -> c45:c46:c47 -> c49:c50 A__NATSFROM :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c52 c52 :: c10 -> c45:c46:c47 -> c52 A__SEL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c54 c54 :: c12:c13 -> c29 -> c45:c46:c47 -> c54 c56 :: c15 -> c29 -> c36:c37:c38:c39:c40:c41:c42 -> c56 0 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c58 :: c17 -> c36:c37:c38:c39:c40:c41:c42 -> c58:c59 c59 :: c19:c20 -> c29 -> c45:c46:c47 -> c58:c59 and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__TAIL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c61 c61 :: c25 -> c29 -> c45:c46:c47 -> c61 A__TAKE :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c63 c63 :: c:c1 -> c29 -> c45:c46:c47 -> c63 U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c65 :: c:c1 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c66 :: c31 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c67 :: c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c68 :: c58:c59 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c69 :: c3:c4 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c70 :: c56 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c71 :: c6 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c72 :: c8 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c73 :: c10 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c74 :: c52 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c75 :: c12:c13 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c76 :: c33 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c77 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c78 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c79 :: c15 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c80 :: c17 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c81 :: c19:c20 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c82 :: c22:c23 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c83 :: c25 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c84 :: c29 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c85 :: c45:c46:c47 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c86 :: c36:c37:c38:c39:c40:c41:c42 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c87 :: c49:c50 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c88 :: c61 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c89 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c90 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c91 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c92 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c94 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c95 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c96 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 c97 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 a__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark nil :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_mark :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark const :: c:c1 const1 :: c31 const2 :: c58:c59 const3 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97 const4 :: c3:c4 const5 :: c56 const6 :: c6 const7 :: c8 const8 :: c10 const9 :: c12:c13 const10 :: c33 const11 :: c27 const12 :: c15 const13 :: c17 const14 :: c19:c20 const15 :: c22:c23 const16 :: c25 const17 :: c29 const18 :: c45:c46:c47 const19 :: c36:c37:c38:c39:c40:c41:c42 const20 :: c49:c50 const21 :: c52 const22 :: c54 const23 :: c61 const24 :: c63 Rewrite Strategy: INNERMOST ---------------------------------------- (47) 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: a__U101(v0, v1, v2) -> null_a__U101 [0] a__U11(v0, v1, v2) -> null_a__U11 [0] a__U21(v0, v1) -> null_a__U21 [0] a__U31(v0, v1) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U51(v0, v1, v2) -> null_a__U51 [0] a__U61(v0, v1) -> null_a__U61 [0] a__U71(v0, v1) -> null_a__U71 [0] a__U81(v0, v1, v2, v3) -> null_a__U81 [0] a__U82(v0, v1) -> null_a__U82 [0] a__U91(v0, v1) -> null_a__U91 [0] a__afterNth(v0, v1) -> null_a__afterNth [0] a__and(v0, v1) -> null_a__and [0] a__fst(v0) -> null_a__fst [0] a__head(v0) -> null_a__head [0] a__isLNat(v0) -> null_a__isLNat [0] a__isNatural(v0) -> null_a__isNatural [0] a__isPLNat(v0) -> null_a__isPLNat [0] a__natsFrom(v0) -> null_a__natsFrom [0] a__sel(v0, v1) -> null_a__sel [0] a__snd(v0) -> null_a__snd [0] a__splitAt(v0, v1) -> null_a__splitAt [0] a__tail(v0) -> null_a__tail [0] a__take(v0, v1) -> null_a__take [0] mark(v0) -> null_mark [0] A__U101(v0, v1, v2) -> null_A__U101 [0] A__U11(v0, v1, v2) -> null_A__U11 [0] A__U21(v0, v1) -> null_A__U21 [0] A__U31(v0, v1) -> null_A__U31 [0] A__U41(v0, v1) -> null_A__U41 [0] A__U51(v0, v1, v2) -> null_A__U51 [0] A__U61(v0, v1) -> null_A__U61 [0] A__U71(v0, v1) -> null_A__U71 [0] A__U81(v0, v1, v2, v3) -> null_A__U81 [0] A__U82(v0, v1) -> null_A__U82 [0] A__U91(v0, v1) -> null_A__U91 [0] A__AND(v0, v1) -> null_A__AND [0] A__FST(v0) -> null_A__FST [0] A__HEAD(v0) -> null_A__HEAD [0] A__ISLNAT(v0) -> null_A__ISLNAT [0] A__ISNATURAL(v0) -> null_A__ISNATURAL [0] A__ISPLNAT(v0) -> null_A__ISPLNAT [0] A__SND(v0) -> null_A__SND [0] A__SPLITAT(v0, v1) -> null_A__SPLITAT [0] A__TAIL(v0) -> null_A__TAIL [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__U101, null_a__U11, null_a__U21, null_a__U31, null_a__U41, null_a__U51, null_a__U61, null_a__U71, null_a__U81, null_a__U82, null_a__U91, null_a__afterNth, null_a__and, null_a__fst, null_a__head, null_a__isLNat, null_a__isNatural, null_a__isPLNat, null_a__natsFrom, null_a__sel, null_a__snd, null_a__splitAt, null_a__tail, null_a__take, null_mark, null_A__U101, null_A__U11, null_A__U21, null_A__U31, null_A__U41, null_A__U51, null_A__U61, null_A__U71, null_A__U81, null_A__U82, null_A__U91, null_A__AND, null_A__FST, null_A__HEAD, null_A__ISLNAT, null_A__ISNATURAL, null_A__ISPLNAT, null_A__SND, null_A__SPLITAT, null_A__TAIL, null_MARK, const, const1, const2, const3 ---------------------------------------- (48) 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, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] A__U21(tt, z0) -> c6(MARK(z0)) [1] A__U31(tt, z0) -> c8(MARK(z0)) [1] A__U41(tt, z0) -> c10(MARK(z0)) [1] A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] A__U61(tt, z0) -> c15(MARK(z0)) [1] A__U71(tt, z0) -> c17(MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) [1] A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) [1] A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) [1] A__U91(tt, z0) -> c25(MARK(z0)) [1] 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)) [1] A__AND(tt, z0) -> c29(MARK(z0)) [1] 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)) [1] 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)) [1] A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) [1] A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) [1] A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) [1] A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) [1] A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) [1] A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) [1] A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) [1] A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) [1] A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) [1] 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)) [1] 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)) [1] A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) [1] 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)) [1] 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)) [1] 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)) [1] MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) [1] MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) [1] MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) [1] MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) [1] MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) [1] MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) [1] MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) [1] MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) [1] MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) [1] MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) [1] MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) [1] MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) [1] MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) [1] MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) [1] MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) [1] MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) [1] MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) [1] MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) [1] MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) [1] MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c94(MARK(z0)) [1] MARK(s(z0)) -> c95(MARK(z0)) [1] MARK(pair(z0, z1)) -> c96(MARK(z0)) [1] MARK(pair(z0, z1)) -> c97(MARK(z1)) [1] a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) [0] a__U101(z0, z1, z2) -> U101(z0, z1, z2) [0] a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) [0] a__U11(z0, z1, z2) -> U11(z0, z1, z2) [0] a__U21(tt, z0) -> mark(z0) [0] a__U21(z0, z1) -> U21(z0, z1) [0] a__U31(tt, z0) -> mark(z0) [0] a__U31(z0, z1) -> U31(z0, z1) [0] a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) [0] a__U51(z0, z1, z2) -> U51(z0, z1, z2) [0] a__U61(tt, z0) -> mark(z0) [0] a__U61(z0, z1) -> U61(z0, z1) [0] a__U71(tt, z0) -> pair(nil, mark(z0)) [0] a__U71(z0, z1) -> U71(z0, z1) [0] a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) [0] a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) [0] a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) [0] a__U82(z0, z1) -> U82(z0, z1) [0] a__U91(tt, z0) -> mark(z0) [0] a__U91(z0, z1) -> U91(z0, z1) [0] a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__afterNth(z0, z1) -> afterNth(z0, z1) [0] a__and(tt, z0) -> mark(z0) [0] a__and(z0, z1) -> and(z0, z1) [0] a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) [0] a__fst(z0) -> fst(z0) [0] a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) [0] a__head(z0) -> head(z0) [0] a__isLNat(nil) -> tt [0] a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(fst(z0)) -> a__isPLNat(z0) [0] a__isLNat(natsFrom(z0)) -> a__isNatural(z0) [0] a__isLNat(snd(z0)) -> a__isPLNat(z0) [0] a__isLNat(tail(z0)) -> a__isLNat(z0) [0] a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isLNat(z0) -> isLNat(z0) [0] a__isNatural(0) -> tt [0] a__isNatural(head(z0)) -> a__isLNat(z0) [0] a__isNatural(s(z0)) -> a__isNatural(z0) [0] a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isNatural(z0) -> isNatural(z0) [0] a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) [0] a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) [0] a__isPLNat(z0) -> isPLNat(z0) [0] a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) [0] a__natsFrom(z0) -> natsFrom(z0) [0] a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__sel(z0, z1) -> sel(z0, z1) [0] a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) [0] a__snd(z0) -> snd(z0) [0] a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) [0] a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) [0] a__splitAt(z0, z1) -> splitAt(z0, z1) [0] a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) [0] a__tail(z0) -> tail(z0) [0] a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) [0] a__take(z0, z1) -> take(z0, z1) [0] mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) [0] mark(fst(z0)) -> a__fst(mark(z0)) [0] mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) [0] mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) [0] mark(snd(z0)) -> a__snd(mark(z0)) [0] mark(U21(z0, z1)) -> a__U21(mark(z0), z1) [0] mark(U31(z0, z1)) -> a__U31(mark(z0), z1) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) [0] mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) [0] mark(U61(z0, z1)) -> a__U61(mark(z0), z1) [0] mark(U71(z0, z1)) -> a__U71(mark(z0), z1) [0] mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) [0] mark(U82(z0, z1)) -> a__U82(mark(z0), z1) [0] mark(U91(z0, z1)) -> a__U91(mark(z0), z1) [0] mark(and(z0, z1)) -> a__and(mark(z0), z1) [0] mark(isNatural(z0)) -> a__isNatural(z0) [0] mark(isLNat(z0)) -> a__isLNat(z0) [0] mark(isPLNat(z0)) -> a__isPLNat(z0) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) [0] mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) [0] mark(tt) -> tt [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) [0] mark(nil) -> nil [0] mark(0) -> 0 [0] a__U101(v0, v1, v2) -> null_a__U101 [0] a__U11(v0, v1, v2) -> null_a__U11 [0] a__U21(v0, v1) -> null_a__U21 [0] a__U31(v0, v1) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U51(v0, v1, v2) -> null_a__U51 [0] a__U61(v0, v1) -> null_a__U61 [0] a__U71(v0, v1) -> null_a__U71 [0] a__U81(v0, v1, v2, v3) -> null_a__U81 [0] a__U82(v0, v1) -> null_a__U82 [0] a__U91(v0, v1) -> null_a__U91 [0] a__afterNth(v0, v1) -> null_a__afterNth [0] a__and(v0, v1) -> null_a__and [0] a__fst(v0) -> null_a__fst [0] a__head(v0) -> null_a__head [0] a__isLNat(v0) -> null_a__isLNat [0] a__isNatural(v0) -> null_a__isNatural [0] a__isPLNat(v0) -> null_a__isPLNat [0] a__natsFrom(v0) -> null_a__natsFrom [0] a__sel(v0, v1) -> null_a__sel [0] a__snd(v0) -> null_a__snd [0] a__splitAt(v0, v1) -> null_a__splitAt [0] a__tail(v0) -> null_a__tail [0] a__take(v0, v1) -> null_a__take [0] mark(v0) -> null_mark [0] A__U101(v0, v1, v2) -> null_A__U101 [0] A__U11(v0, v1, v2) -> null_A__U11 [0] A__U21(v0, v1) -> null_A__U21 [0] A__U31(v0, v1) -> null_A__U31 [0] A__U41(v0, v1) -> null_A__U41 [0] A__U51(v0, v1, v2) -> null_A__U51 [0] A__U61(v0, v1) -> null_A__U61 [0] A__U71(v0, v1) -> null_A__U71 [0] A__U81(v0, v1, v2, v3) -> null_A__U81 [0] A__U82(v0, v1) -> null_A__U82 [0] A__U91(v0, v1) -> null_A__U91 [0] A__AND(v0, v1) -> null_A__AND [0] A__FST(v0) -> null_A__FST [0] A__HEAD(v0) -> null_A__HEAD [0] A__ISLNAT(v0) -> null_A__ISLNAT [0] A__ISNATURAL(v0) -> null_A__ISNATURAL [0] A__ISPLNAT(v0) -> null_A__ISPLNAT [0] A__SND(v0) -> null_A__SND [0] A__SPLITAT(v0, v1) -> null_A__SPLITAT [0] A__TAIL(v0) -> null_A__TAIL [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c:c1:null_A__U101 tt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c :: c31:null_A__FST -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c:c1:null_A__U101 A__FST :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c31:null_A__FST a__splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark mark :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__SPLITAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c58:c59:null_A__SPLITAT MARK :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c1 :: c31:null_A__FST -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c:c1:null_A__U101 A__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c3:c4:null_A__U11 c3 :: c56:null_A__SND -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c3:c4:null_A__U11 A__SND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c56:null_A__SND c4 :: c56:null_A__SND -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c3:c4:null_A__U11 A__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c6:null_A__U21 c6 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c6:null_A__U21 A__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c8:null_A__U31 c8 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c8:null_A__U31 A__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c10:null_A__U41 c10 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c10:null_A__U41 A__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c12:c13:null_A__U51 c12 :: c33:null_A__HEAD -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c12:c13:null_A__U51 A__HEAD :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c33:null_A__HEAD a__afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__AFTERNTH :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c27 c13 :: c33:null_A__HEAD -> c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c12:c13:null_A__U51 A__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c15:null_A__U61 c15 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c15:null_A__U61 A__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c17:null_A__U71 c17 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c17:null_A__U71 A__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c19:c20:null_A__U81 c19 :: c22:c23:null_A__U82 -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c19:c20:null_A__U81 A__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c22:c23:null_A__U82 c20 :: c22:c23:null_A__U82 -> c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c19:c20:null_A__U81 pair :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c22 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c22:c23:null_A__U82 c23 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c22:c23:null_A__U82 A__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c25:null_A__U91 c25 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c25:null_A__U91 c27 :: c3:c4:null_A__U11 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c27 a__and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__AND :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c29:null_A__AND A__ISNATURAL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c45:c46:c47:null_A__ISNATURAL c29 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c29:null_A__AND c31 :: c6:null_A__U21 -> c29:null_A__AND -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c31:null_A__FST a__isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__ISLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT cons :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c33 :: c8:null_A__U31 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c33:null_A__HEAD afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c36 :: c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT c37 :: c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c38 :: c49:c50:null_A__ISPLNAT -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT A__ISPLNAT :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c49:c50:null_A__ISPLNAT natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c39 :: c45:c46:c47:null_A__ISNATURAL -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c40 :: c49:c50:null_A__ISPLNAT -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c41 :: c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c42 :: c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c45 :: c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c45:c46:c47:null_A__ISNATURAL s :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c46 :: c45:c46:c47:null_A__ISNATURAL -> c45:c46:c47:null_A__ISNATURAL sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c47 :: c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c45:c46:c47:null_A__ISNATURAL c49 :: c29:null_A__AND -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c49:c50:null_A__ISPLNAT splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c50 :: c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c49:c50:null_A__ISPLNAT A__NATSFROM :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c52 c52 :: c10:null_A__U41 -> c45:c46:c47:null_A__ISNATURAL -> c52 A__SEL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c54 c54 :: c12:c13:null_A__U51 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c54 c56 :: c15:null_A__U61 -> c29:null_A__AND -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c56:null_A__SND 0 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c58 :: c17:null_A__U71 -> c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c58:c59:null_A__SPLITAT c59 :: c19:c20:null_A__U81 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c58:c59:null_A__SPLITAT and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark A__TAIL :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c61:null_A__TAIL c61 :: c25:null_A__U91 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c61:null_A__TAIL A__TAKE :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> c63 c63 :: c:c1:null_A__U101 -> c29:null_A__AND -> c45:c46:c47:null_A__ISNATURAL -> c63 U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c65 :: c:c1:null_A__U101 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c66 :: c31:null_A__FST -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c67 :: c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c68 :: c58:c59:null_A__SPLITAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c69 :: c3:c4:null_A__U11 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c70 :: c56:null_A__SND -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c71 :: c6:null_A__U21 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c72 :: c8:null_A__U31 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c73 :: c10:null_A__U41 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c74 :: c52 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c75 :: c12:c13:null_A__U51 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c76 :: c33:null_A__HEAD -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c77 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c78 :: c27 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c79 :: c15:null_A__U61 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c80 :: c17:null_A__U71 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c81 :: c19:c20:null_A__U81 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c82 :: c22:c23:null_A__U82 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c83 :: c25:null_A__U91 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c84 :: c29:null_A__AND -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c85 :: c45:c46:c47:null_A__ISNATURAL -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c86 :: c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark c87 :: c49:c50:null_A__ISPLNAT -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c88 :: c61:null_A__TAIL -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c89 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c90 :: c63 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c91 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c92 :: c54 -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c94 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c95 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c96 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK c97 :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK -> c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK a__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark nil :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark a__take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark -> tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U101 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U11 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U21 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U31 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U41 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U51 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U61 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U71 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U81 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U82 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__U91 :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__afterNth :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__and :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__fst :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__head :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isNatural :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__isPLNat :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__natsFrom :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__sel :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__snd :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__splitAt :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__tail :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_a__take :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_mark :: tt:pair:isLNat:cons:afterNth:fst:natsFrom:snd:tail:take:head:s:sel:splitAt:0:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat:nil:null_a__U101:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U51:null_a__U61:null_a__U71:null_a__U81:null_a__U82:null_a__U91:null_a__afterNth:null_a__and:null_a__fst:null_a__head:null_a__isLNat:null_a__isNatural:null_a__isPLNat:null_a__natsFrom:null_a__sel:null_a__snd:null_a__splitAt:null_a__tail:null_a__take:null_mark null_A__U101 :: c:c1:null_A__U101 null_A__U11 :: c3:c4:null_A__U11 null_A__U21 :: c6:null_A__U21 null_A__U31 :: c8:null_A__U31 null_A__U41 :: c10:null_A__U41 null_A__U51 :: c12:c13:null_A__U51 null_A__U61 :: c15:null_A__U61 null_A__U71 :: c17:null_A__U71 null_A__U81 :: c19:c20:null_A__U81 null_A__U82 :: c22:c23:null_A__U82 null_A__U91 :: c25:null_A__U91 null_A__AND :: c29:null_A__AND null_A__FST :: c31:null_A__FST null_A__HEAD :: c33:null_A__HEAD null_A__ISLNAT :: c36:c37:c38:c39:c40:c41:c42:null_A__ISLNAT null_A__ISNATURAL :: c45:c46:c47:null_A__ISNATURAL null_A__ISPLNAT :: c49:c50:null_A__ISPLNAT null_A__SND :: c56:null_A__SND null_A__SPLITAT :: c58:c59:null_A__SPLITAT null_A__TAIL :: c61:null_A__TAIL null_MARK :: c65:c66:c67:c68:c69:c70:c71:c72:c73:c74:c75:c76:c77:c78:c79:c80:c81:c82:c83:c84:c85:c86:c87:c88:c89:c90:c91:c92:c94:c95:c96:c97:null_MARK const :: c27 const1 :: c52 const2 :: c54 const3 :: c63 Rewrite Strategy: INNERMOST ---------------------------------------- (49) 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 0 => 0 nil => 1 null_a__U101 => 0 null_a__U11 => 0 null_a__U21 => 0 null_a__U31 => 0 null_a__U41 => 0 null_a__U51 => 0 null_a__U61 => 0 null_a__U71 => 0 null_a__U81 => 0 null_a__U82 => 0 null_a__U91 => 0 null_a__afterNth => 0 null_a__and => 0 null_a__fst => 0 null_a__head => 0 null_a__isLNat => 0 null_a__isNatural => 0 null_a__isPLNat => 0 null_a__natsFrom => 0 null_a__sel => 0 null_a__snd => 0 null_a__splitAt => 0 null_a__tail => 0 null_a__take => 0 null_mark => 0 null_A__U101 => 0 null_A__U11 => 0 null_A__U21 => 0 null_A__U31 => 0 null_A__U41 => 0 null_A__U51 => 0 null_A__U61 => 0 null_A__U71 => 0 null_A__U81 => 0 null_A__U82 => 0 null_A__U91 => 0 null_A__AND => 0 null_A__FST => 0 null_A__HEAD => 0 null_A__ISLNAT => 0 null_A__ISNATURAL => 0 null_A__ISPLNAT => 0 null_A__SND => 0 null_A__SPLITAT => 0 null_A__TAIL => 0 null_MARK => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: A__AFTERNTH(z, z') -{ 1 }-> 1 + A__U11(a__and(a__isNatural(z0), 1 + z1), z0, z1) + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 A__AND(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__AND(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__FST(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__FST(z) -{ 1 }-> 1 + A__U21(a__and(a__isLNat(z0), 1 + z1), z0) + A__AND(a__isLNat(z0), 1 + z1) + A__ISLNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__HEAD(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__HEAD(z) -{ 1 }-> 1 + A__U31(a__and(a__isNatural(z0), 1 + z1), z0) + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISLNAT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__ISLNAT(z) -{ 1 }-> 1 + A__ISPLNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISLNAT(z) -{ 1 }-> 1 + A__ISNATURAL(z0) :|: z = 1 + z0, z0 >= 0 A__ISLNAT(z) -{ 1 }-> 1 + A__ISLNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISLNAT(z) -{ 1 }-> 1 + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATURAL(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__ISNATURAL(z) -{ 1 }-> 1 + A__ISNATURAL(z0) :|: z = 1 + z0, z0 >= 0 A__ISNATURAL(z) -{ 1 }-> 1 + A__ISLNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISNATURAL(z) -{ 1 }-> 1 + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISPLNAT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__ISPLNAT(z) -{ 1 }-> 1 + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISPLNAT(z) -{ 1 }-> 1 + A__AND(a__isLNat(z0), 1 + z1) + A__ISLNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__NATSFROM(z) -{ 1 }-> 1 + A__U41(a__isNatural(z0), z0) + A__ISNATURAL(z0) :|: z = z0, z0 >= 0 A__SEL(z, z') -{ 1 }-> 1 + A__U51(a__and(a__isNatural(z0), 1 + z1), z0, z1) + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 A__SND(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__SND(z) -{ 1 }-> 1 + A__U61(a__and(a__isLNat(z0), 1 + z1), z1) + A__AND(a__isLNat(z0), 1 + z1) + A__ISLNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__SPLITAT(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__SPLITAT(z, z') -{ 1 }-> 1 + A__U71(a__isLNat(z0), z0) + A__ISLNAT(z0) :|: z0 >= 0, z = 0, z' = z0 A__SPLITAT(z, z') -{ 1 }-> 1 + A__U81(a__and(a__isNatural(z0), 1 + (1 + z1) + (1 + z2)), z0, z1, z2) + A__AND(a__isNatural(z0), 1 + (1 + z1) + (1 + z2)) + A__ISNATURAL(z0) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 A__TAIL(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__TAIL(z) -{ 1 }-> 1 + A__U91(a__and(a__isNatural(z0), 1 + z1), z1) + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__TAKE(z, z') -{ 1 }-> 1 + A__U101(a__and(a__isNatural(z0), 1 + z1), z0, z1) + A__AND(a__isNatural(z0), 1 + z1) + A__ISNATURAL(z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 A__U101(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 A__U101(z, z', z'') -{ 1 }-> 1 + A__FST(a__splitAt(mark(z0), mark(z1))) + A__SPLITAT(mark(z0), mark(z1)) + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U101(z, z', z'') -{ 1 }-> 1 + A__FST(a__splitAt(mark(z0), mark(z1))) + A__SPLITAT(mark(z0), mark(z1)) + MARK(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 A__U11(z, z', z'') -{ 1 }-> 1 + A__SND(a__splitAt(mark(z0), mark(z1))) + A__SPLITAT(mark(z0), mark(z1)) + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U11(z, z', z'') -{ 1 }-> 1 + A__SND(a__splitAt(mark(z0), mark(z1))) + A__SPLITAT(mark(z0), mark(z1)) + MARK(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U21(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U31(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U31(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U41(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U51(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 A__U51(z, z', z'') -{ 1 }-> 1 + A__HEAD(a__afterNth(mark(z0), mark(z1))) + A__AFTERNTH(mark(z0), mark(z1)) + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U51(z, z', z'') -{ 1 }-> 1 + A__HEAD(a__afterNth(mark(z0), mark(z1))) + A__AFTERNTH(mark(z0), mark(z1)) + MARK(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U61(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U61(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U71(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U71(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U81(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 A__U81(z, z', z'', z4) -{ 1 }-> 1 + A__U82(a__splitAt(mark(z0), mark(z2)), z1) + A__SPLITAT(mark(z0), mark(z2)) + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 A__U81(z, z', z'', z4) -{ 1 }-> 1 + A__U82(a__splitAt(mark(z0), mark(z2)), z1) + A__SPLITAT(mark(z0), mark(z2)) + MARK(z2) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 A__U82(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U82(z, z') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 A__U82(z, z') -{ 1 }-> 1 + MARK(z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 A__U91(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U91(z, z') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 MARK(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__ISPLNAT(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATURAL(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISLNAT(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__U91(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U82(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U81(mark(z0), z1, z2, z3) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 + z2 + z3, z2 >= 0, z3 >= 0 MARK(z) -{ 1 }-> 1 + A__U71(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U61(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(mark(z0), z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U31(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U21(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U11(mark(z0), z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U101(mark(z0), z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__TAKE(mark(z0), mark(z1)) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__TAKE(mark(z0), mark(z1)) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__TAIL(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__SPLITAT(mark(z0), mark(z1)) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__SPLITAT(mark(z0), mark(z1)) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__SND(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__SEL(mark(z0), mark(z1)) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__SEL(mark(z0), mark(z1)) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__NATSFROM(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__FST(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__AND(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__AFTERNTH(mark(z0), mark(z1)) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__AFTERNTH(mark(z0), mark(z1)) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__U101(z, z', z'') -{ 0 }-> a__fst(a__splitAt(mark(z0), mark(z1))) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U101(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U101(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U11(z, z', z'') -{ 0 }-> a__snd(a__splitAt(mark(z0), mark(z1))) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U11(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U11(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U21(z, z') -{ 0 }-> mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__U21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U21(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U31(z, z') -{ 0 }-> mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__U31(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U31(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U41(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U41(z, z') -{ 0 }-> 1 + mark(z0) + (1 + (1 + z0)) :|: z = 2, z0 >= 0, z' = z0 a__U51(z, z', z'') -{ 0 }-> a__head(a__afterNth(mark(z0), mark(z1))) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U51(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U51(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U61(z, z') -{ 0 }-> mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__U61(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U61(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U71(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U71(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U71(z, z') -{ 0 }-> 1 + 1 + mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__U81(z, z', z'', z4) -{ 0 }-> a__U82(a__splitAt(mark(z0), mark(z2)), z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 a__U81(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 a__U81(z, z', z'', z4) -{ 0 }-> 1 + z0 + z1 + z2 + z3 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z4 = z3, z2 >= 0, z3 >= 0 a__U82(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U82(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U82(z, z') -{ 0 }-> 1 + (1 + mark(z2) + z0) + mark(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 a__U91(z, z') -{ 0 }-> mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__U91(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U91(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__afterNth(z, z') -{ 0 }-> a__U11(a__and(a__isNatural(z0), 1 + z1), z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__afterNth(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__afterNth(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__and(z, z') -{ 0 }-> mark(z0) :|: z = 2, z0 >= 0, z' = z0 a__and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__and(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__fst(z) -{ 0 }-> a__U21(a__and(a__isLNat(z0), 1 + z1), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__fst(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__fst(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__head(z) -{ 0 }-> a__U31(a__and(a__isNatural(z0), 1 + z1), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__head(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isLNat(z) -{ 0 }-> a__isPLNat(z0) :|: z = 1 + z0, z0 >= 0 a__isLNat(z) -{ 0 }-> a__isNatural(z0) :|: z = 1 + z0, z0 >= 0 a__isLNat(z) -{ 0 }-> a__isLNat(z0) :|: z = 1 + z0, z0 >= 0 a__isLNat(z) -{ 0 }-> a__and(a__isNatural(z0), 1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isLNat(z) -{ 0 }-> 2 :|: z = 1 a__isLNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isLNat(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatural(z) -{ 0 }-> a__isNatural(z0) :|: z = 1 + z0, z0 >= 0 a__isNatural(z) -{ 0 }-> a__isLNat(z0) :|: z = 1 + z0, z0 >= 0 a__isNatural(z) -{ 0 }-> a__and(a__isNatural(z0), 1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatural(z) -{ 0 }-> 2 :|: z = 0 a__isNatural(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatural(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isPLNat(z) -{ 0 }-> a__and(a__isNatural(z0), 1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isPLNat(z) -{ 0 }-> a__and(a__isLNat(z0), 1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isPLNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isPLNat(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__natsFrom(z) -{ 0 }-> a__U41(a__isNatural(z0), z0) :|: z = z0, z0 >= 0 a__natsFrom(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__natsFrom(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__sel(z, z') -{ 0 }-> a__U51(a__and(a__isNatural(z0), 1 + z1), z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__sel(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__sel(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__snd(z) -{ 0 }-> a__U61(a__and(a__isLNat(z0), 1 + z1), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__snd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__snd(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__splitAt(z, z') -{ 0 }-> a__U81(a__and(a__isNatural(z0), 1 + (1 + z1) + (1 + z2)), z0, z1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 a__splitAt(z, z') -{ 0 }-> a__U71(a__isLNat(z0), z0) :|: z0 >= 0, z = 0, z' = z0 a__splitAt(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__splitAt(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__tail(z) -{ 0 }-> a__U91(a__and(a__isNatural(z0), 1 + z1), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__tail(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__take(z, z') -{ 0 }-> a__U101(a__and(a__isNatural(z0), 1 + z1), z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__take(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__take(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 mark(z) -{ 0 }-> a__take(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__tail(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__splitAt(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__snd(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__sel(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__natsFrom(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isPLNat(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNatural(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isLNat(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__head(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__fst(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__and(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__afterNth(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U91(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U82(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U81(mark(z0), z1, z2, z3) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 + z2 + z3, z2 >= 0, z3 >= 0 mark(z) -{ 0 }-> a__U71(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U61(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U51(mark(z0), z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U41(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U31(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U21(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U11(mark(z0), z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U101(mark(z0), z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> 1 + mark(z0) + mark(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (51) 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)) ---------------------------------------- (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__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 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (55) 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)) ---------------------------------------- (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__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 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (59) 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)) ---------------------------------------- (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__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 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (63) 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)) ---------------------------------------- (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__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 ---------------------------------------- (65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (67) 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)) ---------------------------------------- (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__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 ---------------------------------------- (69) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (71) 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)) ---------------------------------------- (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__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 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (75) 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)) ---------------------------------------- (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__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 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (79) 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)) ---------------------------------------- (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__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 ---------------------------------------- (81) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (83) 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)) ---------------------------------------- (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__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 ---------------------------------------- (85) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (87) 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)) ---------------------------------------- (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__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 ---------------------------------------- (89) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (91) 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)) ---------------------------------------- (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(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 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (95) 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)) ---------------------------------------- (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(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 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (99) 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)) ---------------------------------------- (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__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 ---------------------------------------- (101) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (103) 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)) ---------------------------------------- (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__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 ---------------------------------------- (105) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (107) 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)) ---------------------------------------- (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__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 ---------------------------------------- (109) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (111) 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)) ---------------------------------------- (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__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 ---------------------------------------- (113) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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__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 ---------------------------------------- (115) 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)) ---------------------------------------- (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__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 ---------------------------------------- (117) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (119) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (123) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 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)) 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 ---------------------------------------- (127) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (129) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (131) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (133) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (135) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (137) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 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)) 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 ---------------------------------------- (139) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (141) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 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)) 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 ---------------------------------------- (143) 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)) ---------------------------------------- (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(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 ---------------------------------------- (145) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (147) 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)) ---------------------------------------- (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(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 ---------------------------------------- (149) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U101(0, x1, x2)) -> c65(A__U101(0, x1, x2), MARK(0)) MARK(U101(nil, x1, x2)) -> c65(A__U101(nil, x1, x2), MARK(nil)) ---------------------------------------- (150) 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 ---------------------------------------- (151) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (152) 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 ---------------------------------------- (153) 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)) ---------------------------------------- (154) 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 ---------------------------------------- (155) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: MARK(fst(nil)) -> c66(A__FST(nil), MARK(nil)) MARK(fst(0)) -> c66(A__FST(0), MARK(0)) MARK(fst(tt)) -> c66(A__FST(tt), MARK(tt)) ---------------------------------------- (156) 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 ---------------------------------------- (157) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (158) 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 ---------------------------------------- (159) 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)) ---------------------------------------- (160) 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 ---------------------------------------- (161) 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)) ---------------------------------------- (162) 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 ---------------------------------------- (163) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (164) 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 ---------------------------------------- (165) 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)) ---------------------------------------- (166) 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 ---------------------------------------- (167) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (168) 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