KILLED proof of input_8JrevEkDxf.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), 0 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 5 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), 0 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), 35 ms] (24) CpxTypedWeightedCompleteTrs (25) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (26) CpxRNTS (27) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CpxRNTS (29) CompletionProof [UPPER BOUND(ID), 0 ms] (30) CpxTypedWeightedCompleteTrs (31) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 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) NarrowingProof [BOTH BOUNDS(ID, ID), 580 ms] (48) CpxTypedWeightedCompleteTrs (49) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (50) CpxRNTS (51) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CpxRNTS (53) CompletionProof [UPPER BOUND(ID), 0 ms] (54) CpxTypedWeightedCompleteTrs (55) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 17 ms] (64) CdtProblem (65) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 6 ms] (76) CdtProblem (77) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 21 ms] (106) CdtProblem (107) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (120) CdtProblem (121) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (128) CdtProblem (129) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 37 ms] (132) CdtProblem (133) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 21 ms] (138) CdtProblem (139) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 43 ms] (144) CdtProblem (145) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 113 ms] (150) CdtProblem (151) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 66 ms] (156) CdtProblem (157) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 1 ms] (158) CdtProblem (159) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 102 ms] (162) CdtProblem (163) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 24 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 54 ms] (168) CdtProblem (169) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 62 ms] (172) CdtProblem (173) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 167 ms] (176) CdtProblem (177) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (178) CdtProblem (179) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 212 ms] (180) CdtProblem (181) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 16 ms] (182) CdtProblem (183) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 225 ms] (184) CdtProblem (185) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (186) CdtProblem (187) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 198 ms] (188) CdtProblem (189) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 13 ms] (190) CdtProblem (191) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 83 ms] (192) CdtProblem (193) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 21 ms] (194) CdtProblem (195) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 186 ms] (196) CdtProblem (197) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 35 ms] (198) CdtProblem (199) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 164 ms] (200) CdtProblem (201) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 63 ms] (202) CdtProblem (203) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 219 ms] (204) CdtProblem (205) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 59 ms] (206) CdtProblem (207) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 331 ms] (208) CdtProblem (209) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 52 ms] (210) CdtProblem (211) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 411 ms] (212) CdtProblem (213) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 59 ms] (214) CdtProblem (215) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 308 ms] (216) CdtProblem (217) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 85 ms] (218) CdtProblem (219) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 325 ms] (220) CdtProblem (221) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 80 ms] (222) CdtProblem (223) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 47 ms] (224) CdtProblem (225) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 310 ms] (226) CdtProblem (227) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 49 ms] (228) CdtProblem (229) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 64 ms] (230) CdtProblem (231) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 366 ms] (232) CdtProblem (233) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 97 ms] (234) CdtProblem (235) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 78 ms] (236) CdtProblem (237) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 500 ms] (238) CdtProblem (239) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 116 ms] (240) CdtProblem (241) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 128 ms] (242) CdtProblem (243) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 621 ms] (244) CdtProblem (245) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 160 ms] (246) CdtProblem (247) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 78 ms] (248) CdtProblem (249) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 396 ms] (250) CdtProblem (251) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 178 ms] (252) CdtProblem (253) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 119 ms] (254) CdtProblem (255) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 209 ms] (256) CdtProblem (257) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 90 ms] (258) CdtProblem (259) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 44 ms] (260) CdtProblem (261) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 116 ms] (262) CdtProblem (263) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 103 ms] (264) 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__from(X) -> cons(mark(X), from(s(X))) a__head(cons(X, XS)) -> mark(X) a__2nd(cons(X, XS)) -> a__head(mark(XS)) a__take(0, XS) -> nil a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) a__sel(0, cons(X, XS)) -> mark(X) a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) mark(from(X)) -> a__from(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(2nd(X)) -> a__2nd(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(0) -> 0 mark(nil) -> nil a__from(X) -> from(X) a__head(X) -> head(X) a__2nd(X) -> 2nd(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__from(X) -> cons(mark(X), from(s(X))) a__head(cons(X, XS)) -> mark(X) a__2nd(cons(X, XS)) -> a__head(mark(XS)) a__take(0', XS) -> nil a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) a__sel(0', cons(X, XS)) -> mark(X) a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) mark(from(X)) -> a__from(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(2nd(X)) -> a__2nd(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(0') -> 0' mark(nil) -> nil a__from(X) -> from(X) a__head(X) -> head(X) a__2nd(X) -> 2nd(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__from(X) -> cons(mark(X), from(s(X))) a__head(cons(X, XS)) -> mark(X) a__2nd(cons(X, XS)) -> a__head(mark(XS)) a__take(0, XS) -> nil a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) a__sel(0, cons(X, XS)) -> mark(X) a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) mark(from(X)) -> a__from(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(2nd(X)) -> a__2nd(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(0) -> 0 mark(nil) -> nil a__from(X) -> from(X) a__head(X) -> head(X) a__2nd(X) -> 2nd(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__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 S tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__2ND_1, A__TAKE_2, A__SEL_2, MARK_1 Compound Symbols: c_1, c1, c2_1, c3, c4_2, c5, c6, c7_1, c8, c9_1, c10_2, c11_2, c12, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c22, c23 ---------------------------------------- (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__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil 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__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil 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__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0', z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0', cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0') -> c22 MARK(nil) -> c23 The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0', z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0', cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0') -> 0' mark(nil) -> nil Rewrite Strategy: INNERMOST ---------------------------------------- (13) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (14) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0', z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0', cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0') -> c22 MARK(nil) -> c23 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0', z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0', cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0') -> 0' mark(nil) -> nil Types: A__FROM :: cons:0':s:from:head:2nd:take:sel:nil -> c:c1 c :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c:c1 MARK :: cons:0':s:from:head:2nd:take:sel:nil -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c1 :: c:c1 A__HEAD :: cons:0':s:from:head:2nd:take:sel:nil -> c2:c3 cons :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c2:c3 c3 :: c2:c3 A__2ND :: cons:0':s:from:head:2nd:take:sel:nil -> c4:c5 c4 :: c2:c3 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c4:c5 mark :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c5 :: c4:c5 A__TAKE :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> c6:c7:c8 0' :: cons:0':s:from:head:2nd:take:sel:nil c6 :: c6:c7:c8 s :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c6:c7:c8 c8 :: c6:c7:c8 A__SEL :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> c9:c10:c11:c12 c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c10 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c11 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c12 :: c9:c10:c11:c12 from :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c13 :: c:c1 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 head :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c14 :: c2:c3 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 2nd :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c15 :: c4:c5 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 take :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c16 :: c6:c7:c8 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c17 :: c6:c7:c8 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 sel :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c18 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c19 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c22 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 nil :: cons:0':s:from:head:2nd:take:sel:nil c23 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 a__from :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__head :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__2nd :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__take :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__sel :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil hole_c:c11_24 :: c:c1 hole_cons:0':s:from:head:2nd:take:sel:nil2_24 :: cons:0':s:from:head:2nd:take:sel:nil hole_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c233_24 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 hole_c2:c34_24 :: c2:c3 hole_c4:c55_24 :: c4:c5 hole_c6:c7:c86_24 :: c6:c7:c8 hole_c9:c10:c11:c127_24 :: c9:c10:c11:c12 gen_cons:0':s:from:head:2nd:take:sel:nil8_24 :: Nat -> cons:0':s:from:head:2nd:take:sel:nil gen_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c239_24 :: Nat -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 gen_c9:c10:c11:c1210_24 :: Nat -> c9:c10:c11:c12 ---------------------------------------- (15) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__FROM, MARK, A__HEAD, A__2ND, mark, A__SEL, a__from, a__head, a__2nd, a__sel They will be analysed ascendingly in the following order: A__FROM = MARK A__FROM = A__HEAD A__FROM = A__2ND A__FROM = A__SEL MARK = A__HEAD MARK = A__2ND mark < MARK MARK = A__SEL A__HEAD = A__2ND A__HEAD = A__SEL mark < A__2ND A__2ND = A__SEL mark < A__SEL mark = a__from mark = a__head mark = a__2nd mark = a__sel a__from = a__head a__from = a__2nd a__from = a__sel a__head = a__2nd a__head = a__sel a__2nd = a__sel ---------------------------------------- (16) Obligation: Innermost TRS: Rules: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0', z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0', cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0') -> c22 MARK(nil) -> c23 a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0', z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0', cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0') -> 0' mark(nil) -> nil Types: A__FROM :: cons:0':s:from:head:2nd:take:sel:nil -> c:c1 c :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c:c1 MARK :: cons:0':s:from:head:2nd:take:sel:nil -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c1 :: c:c1 A__HEAD :: cons:0':s:from:head:2nd:take:sel:nil -> c2:c3 cons :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c2:c3 c3 :: c2:c3 A__2ND :: cons:0':s:from:head:2nd:take:sel:nil -> c4:c5 c4 :: c2:c3 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c4:c5 mark :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c5 :: c4:c5 A__TAKE :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> c6:c7:c8 0' :: cons:0':s:from:head:2nd:take:sel:nil c6 :: c6:c7:c8 s :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c6:c7:c8 c8 :: c6:c7:c8 A__SEL :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> c9:c10:c11:c12 c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c10 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c11 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c9:c10:c11:c12 c12 :: c9:c10:c11:c12 from :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c13 :: c:c1 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 head :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c14 :: c2:c3 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 2nd :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c15 :: c4:c5 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 take :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c16 :: c6:c7:c8 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c17 :: c6:c7:c8 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 sel :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil c18 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c19 :: c9:c10:c11:c12 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c22 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 nil :: cons:0':s:from:head:2nd:take:sel:nil c23 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 a__from :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__head :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__2nd :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__take :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil a__sel :: cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil -> cons:0':s:from:head:2nd:take:sel:nil hole_c:c11_24 :: c:c1 hole_cons:0':s:from:head:2nd:take:sel:nil2_24 :: cons:0':s:from:head:2nd:take:sel:nil hole_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c233_24 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 hole_c2:c34_24 :: c2:c3 hole_c4:c55_24 :: c4:c5 hole_c6:c7:c86_24 :: c6:c7:c8 hole_c9:c10:c11:c127_24 :: c9:c10:c11:c12 gen_cons:0':s:from:head:2nd:take:sel:nil8_24 :: Nat -> cons:0':s:from:head:2nd:take:sel:nil gen_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c239_24 :: Nat -> c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 gen_c9:c10:c11:c1210_24 :: Nat -> c9:c10:c11:c12 Generator Equations: gen_cons:0':s:from:head:2nd:take:sel:nil8_24(0) <=> 0' gen_cons:0':s:from:head:2nd:take:sel:nil8_24(+(x, 1)) <=> cons(0', gen_cons:0':s:from:head:2nd:take:sel:nil8_24(x)) gen_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c239_24(0) <=> c22 gen_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c239_24(+(x, 1)) <=> c13(c(c22), gen_c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c239_24(x)) gen_c9:c10:c11:c1210_24(0) <=> c9(c22) gen_c9:c10:c11:c1210_24(+(x, 1)) <=> c10(gen_c9:c10:c11:c1210_24(x), c22) The following defined symbols remain to be analysed: a__from, A__FROM, MARK, A__HEAD, A__2ND, mark, A__SEL, a__head, a__2nd, a__sel They will be analysed ascendingly in the following order: A__FROM = MARK A__FROM = A__HEAD A__FROM = A__2ND A__FROM = A__SEL MARK = A__HEAD MARK = A__2ND mark < MARK MARK = A__SEL A__HEAD = A__2ND A__HEAD = A__SEL mark < A__2ND A__2ND = A__SEL mark < A__SEL mark = a__from mark = a__head mark = a__2nd mark = a__sel a__from = a__head a__from = a__2nd a__from = a__sel a__head = a__2nd a__head = a__sel a__2nd = a__sel ---------------------------------------- (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__from(X) -> cons(mark(X), from(s(X))) [1] a__head(cons(X, XS)) -> mark(X) [1] a__2nd(cons(X, XS)) -> a__head(mark(XS)) [1] a__take(0, XS) -> nil [1] a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) [1] a__sel(0, cons(X, XS)) -> mark(X) [1] a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(2nd(X)) -> a__2nd(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(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(0) -> 0 [1] mark(nil) -> nil [1] a__from(X) -> from(X) [1] a__head(X) -> head(X) [1] a__2nd(X) -> 2nd(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__from(X) -> cons(mark(X), from(s(X))) [1] a__head(cons(X, XS)) -> mark(X) [1] a__2nd(cons(X, XS)) -> a__head(mark(XS)) [1] a__take(0, XS) -> nil [1] a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) [1] a__sel(0, cons(X, XS)) -> mark(X) [1] a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(2nd(X)) -> a__2nd(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(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(0) -> 0 [1] mark(nil) -> nil [1] a__from(X) -> from(X) [1] a__head(X) -> head(X) [1] a__2nd(X) -> 2nd(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__from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel cons :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel mark :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel s :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 0 :: s:from:cons:0:nil:take:head:2nd:sel nil :: s:from:cons:0:nil:take:head:2nd:sel take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 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: mark_1 a__take_2 a__sel_2 a__2nd_1 a__head_1 a__from_1 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__from(X) -> cons(mark(X), from(s(X))) [1] a__head(cons(X, XS)) -> mark(X) [1] a__2nd(cons(X, XS)) -> a__head(mark(XS)) [1] a__take(0, XS) -> nil [1] a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) [1] a__sel(0, cons(X, XS)) -> mark(X) [1] a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(2nd(X)) -> a__2nd(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(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(0) -> 0 [1] mark(nil) -> nil [1] a__from(X) -> from(X) [1] a__head(X) -> head(X) [1] a__2nd(X) -> 2nd(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__from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel cons :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel mark :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel s :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 0 :: s:from:cons:0:nil:take:head:2nd:sel nil :: s:from:cons:0:nil:take:head:2nd:sel take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 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__from(X) -> cons(mark(X), from(s(X))) [1] a__head(cons(X, XS)) -> mark(X) [1] a__2nd(cons(X, from(X'))) -> a__head(a__from(mark(X'))) [2] a__2nd(cons(X, head(X''))) -> a__head(a__head(mark(X''))) [2] a__2nd(cons(X, 2nd(X3))) -> a__head(a__2nd(mark(X3))) [2] a__2nd(cons(X, take(X1', X2'))) -> a__head(a__take(mark(X1'), mark(X2'))) [2] a__2nd(cons(X, sel(X1'', X2''))) -> a__head(a__sel(mark(X1''), mark(X2''))) [2] a__2nd(cons(X, cons(X11, X21))) -> a__head(cons(mark(X11), X21)) [2] a__2nd(cons(X, s(X4))) -> a__head(s(mark(X4))) [2] a__2nd(cons(X, 0)) -> a__head(0) [2] a__2nd(cons(X, nil)) -> a__head(nil) [2] a__take(0, XS) -> nil [1] a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) [1] a__sel(0, cons(X, XS)) -> mark(X) [1] a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) [1] mark(from(from(X59))) -> a__from(a__from(mark(X59))) [2] mark(from(head(X60))) -> a__from(a__head(mark(X60))) [2] mark(from(2nd(X61))) -> a__from(a__2nd(mark(X61))) [2] mark(from(take(X134, X234))) -> a__from(a__take(mark(X134), mark(X234))) [2] mark(from(sel(X135, X235))) -> a__from(a__sel(mark(X135), mark(X235))) [2] mark(from(cons(X136, X236))) -> a__from(cons(mark(X136), X236)) [2] mark(from(s(X62))) -> a__from(s(mark(X62))) [2] mark(from(0)) -> a__from(0) [2] mark(from(nil)) -> a__from(nil) [2] mark(head(from(X63))) -> a__head(a__from(mark(X63))) [2] mark(head(head(X64))) -> a__head(a__head(mark(X64))) [2] mark(head(2nd(X65))) -> a__head(a__2nd(mark(X65))) [2] mark(head(take(X137, X237))) -> a__head(a__take(mark(X137), mark(X237))) [2] mark(head(sel(X138, X238))) -> a__head(a__sel(mark(X138), mark(X238))) [2] mark(head(cons(X139, X239))) -> a__head(cons(mark(X139), X239)) [2] mark(head(s(X66))) -> a__head(s(mark(X66))) [2] mark(head(0)) -> a__head(0) [2] mark(head(nil)) -> a__head(nil) [2] mark(2nd(from(X67))) -> a__2nd(a__from(mark(X67))) [2] mark(2nd(head(X68))) -> a__2nd(a__head(mark(X68))) [2] mark(2nd(2nd(X69))) -> a__2nd(a__2nd(mark(X69))) [2] mark(2nd(take(X140, X240))) -> a__2nd(a__take(mark(X140), mark(X240))) [2] mark(2nd(sel(X141, X241))) -> a__2nd(a__sel(mark(X141), mark(X241))) [2] mark(2nd(cons(X142, X242))) -> a__2nd(cons(mark(X142), X242)) [2] mark(2nd(s(X70))) -> a__2nd(s(mark(X70))) [2] mark(2nd(0)) -> a__2nd(0) [2] mark(2nd(nil)) -> a__2nd(nil) [2] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(0) -> 0 [1] mark(nil) -> nil [1] a__from(X) -> from(X) [1] a__head(X) -> head(X) [1] a__2nd(X) -> 2nd(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__from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel cons :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel mark :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel s :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 0 :: s:from:cons:0:nil:take:head:2nd:sel nil :: s:from:cons:0:nil:take:head:2nd:sel take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 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: 0 => 0 nil => 1 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: a__2nd(z) -{ 2 }-> a__head(a__take(mark(X1'), mark(X2'))) :|: X2' >= 0, X1' >= 0, X >= 0, z = 1 + X + (1 + X1' + X2') a__2nd(z) -{ 2 }-> a__head(a__sel(mark(X1''), mark(X2''))) :|: X1'' >= 0, X >= 0, X2'' >= 0, z = 1 + X + (1 + X1'' + X2'') a__2nd(z) -{ 2 }-> a__head(a__head(mark(X''))) :|: z = 1 + X + (1 + X''), X >= 0, X'' >= 0 a__2nd(z) -{ 2 }-> a__head(a__from(mark(X'))) :|: z = 1 + X + (1 + X'), X >= 0, X' >= 0 a__2nd(z) -{ 2 }-> a__head(a__2nd(mark(X3))) :|: z = 1 + X + (1 + X3), X >= 0, X3 >= 0 a__2nd(z) -{ 2 }-> a__head(1) :|: z = 1 + X + 1, X >= 0 a__2nd(z) -{ 2 }-> a__head(0) :|: z = 1 + X + 0, X >= 0 a__2nd(z) -{ 2 }-> a__head(1 + mark(X4)) :|: X >= 0, z = 1 + X + (1 + X4), X4 >= 0 a__2nd(z) -{ 2 }-> a__head(1 + mark(X11) + X21) :|: X11 >= 0, X21 >= 0, X >= 0, z = 1 + X + (1 + X11 + X21) a__2nd(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__from(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__from(z) -{ 1 }-> 1 + mark(X) + (1 + (1 + X)) :|: X >= 0, z = X a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__sel(z, z') -{ 1 }-> mark(X) :|: z' = 1 + X + XS, X >= 0, z = 0, XS >= 0 a__sel(z, z') -{ 1 }-> a__sel(mark(N), mark(XS)) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 a__sel(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__take(z, z') -{ 1 }-> 1 :|: z' = XS, z = 0, XS >= 0 a__take(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__take(z, z') -{ 1 }-> 1 + mark(X) + (1 + N + XS) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> a__head(a__take(mark(X137), mark(X237))) :|: z = 1 + (1 + X137 + X237), X137 >= 0, X237 >= 0 mark(z) -{ 2 }-> a__head(a__sel(mark(X138), mark(X238))) :|: z = 1 + (1 + X138 + X238), X138 >= 0, X238 >= 0 mark(z) -{ 2 }-> a__head(a__head(mark(X64))) :|: z = 1 + (1 + X64), X64 >= 0 mark(z) -{ 2 }-> a__head(a__from(mark(X63))) :|: z = 1 + (1 + X63), X63 >= 0 mark(z) -{ 2 }-> a__head(a__2nd(mark(X65))) :|: z = 1 + (1 + X65), X65 >= 0 mark(z) -{ 2 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__head(1 + mark(X66)) :|: z = 1 + (1 + X66), X66 >= 0 mark(z) -{ 2 }-> a__head(1 + mark(X139) + X239) :|: z = 1 + (1 + X139 + X239), X239 >= 0, X139 >= 0 mark(z) -{ 2 }-> a__from(a__take(mark(X134), mark(X234))) :|: z = 1 + (1 + X134 + X234), X134 >= 0, X234 >= 0 mark(z) -{ 2 }-> a__from(a__sel(mark(X135), mark(X235))) :|: X135 >= 0, X235 >= 0, z = 1 + (1 + X135 + X235) mark(z) -{ 2 }-> a__from(a__head(mark(X60))) :|: X60 >= 0, z = 1 + (1 + X60) mark(z) -{ 2 }-> a__from(a__from(mark(X59))) :|: z = 1 + (1 + X59), X59 >= 0 mark(z) -{ 2 }-> a__from(a__2nd(mark(X61))) :|: X61 >= 0, z = 1 + (1 + X61) mark(z) -{ 2 }-> a__from(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__from(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__from(1 + mark(X62)) :|: X62 >= 0, z = 1 + (1 + X62) mark(z) -{ 2 }-> a__from(1 + mark(X136) + X236) :|: X136 >= 0, X236 >= 0, z = 1 + (1 + X136 + X236) mark(z) -{ 2 }-> a__2nd(a__take(mark(X140), mark(X240))) :|: z = 1 + (1 + X140 + X240), X240 >= 0, X140 >= 0 mark(z) -{ 2 }-> a__2nd(a__sel(mark(X141), mark(X241))) :|: z = 1 + (1 + X141 + X241), X241 >= 0, X141 >= 0 mark(z) -{ 2 }-> a__2nd(a__head(mark(X68))) :|: z = 1 + (1 + X68), X68 >= 0 mark(z) -{ 2 }-> a__2nd(a__from(mark(X67))) :|: X67 >= 0, z = 1 + (1 + X67) mark(z) -{ 2 }-> a__2nd(a__2nd(mark(X69))) :|: z = 1 + (1 + X69), X69 >= 0 mark(z) -{ 2 }-> a__2nd(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__2nd(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__2nd(1 + mark(X70)) :|: X70 >= 0, z = 1 + (1 + X70) mark(z) -{ 2 }-> a__2nd(1 + mark(X142) + X242) :|: z = 1 + (1 + X142 + X242), X242 >= 0, X142 >= 0 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 ---------------------------------------- (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__2nd(z) -{ 2 }-> a__head(a__take(mark(X1'), mark(X2'))) :|: X2' >= 0, X1' >= 0, X >= 0, z = 1 + X + (1 + X1' + X2') a__2nd(z) -{ 2 }-> a__head(a__sel(mark(X1''), mark(X2''))) :|: X1'' >= 0, X >= 0, X2'' >= 0, z = 1 + X + (1 + X1'' + X2'') a__2nd(z) -{ 2 }-> a__head(a__head(mark(X''))) :|: z = 1 + X + (1 + X''), X >= 0, X'' >= 0 a__2nd(z) -{ 2 }-> a__head(a__from(mark(X'))) :|: z = 1 + X + (1 + X'), X >= 0, X' >= 0 a__2nd(z) -{ 2 }-> a__head(a__2nd(mark(X3))) :|: z = 1 + X + (1 + X3), X >= 0, X3 >= 0 a__2nd(z) -{ 2 }-> a__head(1) :|: z - 2 >= 0 a__2nd(z) -{ 2 }-> a__head(0) :|: z - 1 >= 0 a__2nd(z) -{ 2 }-> a__head(1 + mark(X4)) :|: X >= 0, z = 1 + X + (1 + X4), X4 >= 0 a__2nd(z) -{ 2 }-> a__head(1 + mark(X11) + X21) :|: X11 >= 0, X21 >= 0, X >= 0, z = 1 + X + (1 + X11 + X21) a__2nd(z) -{ 1 }-> 1 + z :|: z >= 0 a__from(z) -{ 1 }-> 1 + z :|: z >= 0 a__from(z) -{ 1 }-> 1 + mark(z) + (1 + (1 + z)) :|: z >= 0 a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + z :|: z >= 0 a__sel(z, z') -{ 1 }-> mark(X) :|: z' = 1 + X + XS, X >= 0, z = 0, XS >= 0 a__sel(z, z') -{ 1 }-> a__sel(mark(z - 1), mark(XS)) :|: z' = 1 + X + XS, X >= 0, XS >= 0, z - 1 >= 0 a__sel(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__take(z, z') -{ 1 }-> 1 :|: z = 0, z' >= 0 a__take(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__take(z, z') -{ 1 }-> 1 + mark(X) + (1 + (z - 1) + XS) :|: z' = 1 + X + XS, X >= 0, XS >= 0, z - 1 >= 0 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> a__head(a__take(mark(X137), mark(X237))) :|: z = 1 + (1 + X137 + X237), X137 >= 0, X237 >= 0 mark(z) -{ 2 }-> a__head(a__sel(mark(X138), mark(X238))) :|: z = 1 + (1 + X138 + X238), X138 >= 0, X238 >= 0 mark(z) -{ 2 }-> a__head(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__head(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(1 + mark(X139) + X239) :|: z = 1 + (1 + X139 + X239), X239 >= 0, X139 >= 0 mark(z) -{ 2 }-> a__from(a__take(mark(X134), mark(X234))) :|: z = 1 + (1 + X134 + X234), X134 >= 0, X234 >= 0 mark(z) -{ 2 }-> a__from(a__sel(mark(X135), mark(X235))) :|: X135 >= 0, X235 >= 0, z = 1 + (1 + X135 + X235) mark(z) -{ 2 }-> a__from(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__from(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__from(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__from(1 + mark(X136) + X236) :|: X136 >= 0, X236 >= 0, z = 1 + (1 + X136 + X236) mark(z) -{ 2 }-> a__2nd(a__take(mark(X140), mark(X240))) :|: z = 1 + (1 + X140 + X240), X240 >= 0, X140 >= 0 mark(z) -{ 2 }-> a__2nd(a__sel(mark(X141), mark(X241))) :|: z = 1 + (1 + X141 + X241), X241 >= 0, X141 >= 0 mark(z) -{ 2 }-> a__2nd(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__2nd(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__2nd(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__2nd(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__2nd(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__2nd(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__2nd(1 + mark(X142) + X242) :|: z = 1 + (1 + X142 + X242), X242 >= 0, X142 >= 0 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 ---------------------------------------- (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__from(X) -> cons(mark(X), from(s(X))) [1] a__head(cons(X, XS)) -> mark(X) [1] a__2nd(cons(X, XS)) -> a__head(mark(XS)) [1] a__take(0, XS) -> nil [1] a__take(s(N), cons(X, XS)) -> cons(mark(X), take(N, XS)) [1] a__sel(0, cons(X, XS)) -> mark(X) [1] a__sel(s(N), cons(X, XS)) -> a__sel(mark(N), mark(XS)) [1] mark(from(X)) -> a__from(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(2nd(X)) -> a__2nd(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(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(0) -> 0 [1] mark(nil) -> nil [1] a__from(X) -> from(X) [1] a__head(X) -> head(X) [1] a__2nd(X) -> 2nd(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__from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel cons :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel mark :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel from :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel s :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 0 :: s:from:cons:0:nil:take:head:2nd:sel nil :: s:from:cons:0:nil:take:head:2nd:sel take :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel a__sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel head :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 2nd :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel sel :: s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel -> s:from:cons:0:nil:take:head:2nd:sel 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: 0 => 0 nil => 1 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: a__2nd(z) -{ 1 }-> a__head(mark(XS)) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__2nd(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__from(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__from(z) -{ 1 }-> 1 + mark(X) + (1 + (1 + X)) :|: X >= 0, z = X a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__sel(z, z') -{ 1 }-> mark(X) :|: z' = 1 + X + XS, X >= 0, z = 0, XS >= 0 a__sel(z, z') -{ 1 }-> a__sel(mark(N), mark(XS)) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 a__sel(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__take(z, z') -{ 1 }-> 1 :|: z' = XS, z = 0, XS >= 0 a__take(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__take(z, z') -{ 1 }-> 1 + mark(X) + (1 + N + XS) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__head(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__from(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__2nd(mark(X)) :|: z = 1 + X, X >= 0 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 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__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 S tuples: A__FROM(z0) -> c(MARK(z0)) A__FROM(z0) -> c1 A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__HEAD(z0) -> c3 A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__2ND(z0) -> c5 A__TAKE(0, z0) -> c6 A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__TAKE(z0, z1) -> c8 A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) A__SEL(z0, z1) -> c12 MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) MARK(0) -> c22 MARK(nil) -> c23 K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__2ND_1, A__TAKE_2, A__SEL_2, MARK_1 Compound Symbols: c_1, c1, c2_1, c3, c4_2, c5, c6, c7_1, c8, c9_1, c10_2, c11_2, c12, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c22, c23 ---------------------------------------- (35) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: A__HEAD(z0) -> c3 A__TAKE(0, z0) -> c6 A__FROM(z0) -> c1 MARK(nil) -> c23 A__TAKE(z0, z1) -> c8 MARK(0) -> c22 A__2ND(z0) -> c5 A__SEL(z0, z1) -> c12 ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__2ND_1, A__TAKE_2, A__SEL_2, MARK_1 Compound Symbols: c_1, c2_1, c4_2, c7_1, c9_1, c10_2, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_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__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) The (relative) TRS S consists of the following rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil 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__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil 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__FROM(z0) -> c(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) [1] A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) [1] A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) [1] A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) [1] MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c20(MARK(z0)) [1] MARK(s(z0)) -> c21(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__2nd(cons(z0, z1)) -> a__head(mark(z1)) [0] a__2nd(z0) -> 2nd(z0) [0] a__take(0, z0) -> nil [0] a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) [0] a__take(z0, z1) -> take(z0, z1) [0] a__sel(0, cons(z0, z1)) -> mark(z0) [0] a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) [0] a__sel(z0, z1) -> sel(z0, z1) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(2nd(z0)) -> a__2nd(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(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(0) -> 0 [0] mark(nil) -> nil [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__FROM(z0) -> c(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) [1] A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) [1] A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) [1] A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) [1] MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c20(MARK(z0)) [1] MARK(s(z0)) -> c21(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__2nd(cons(z0, z1)) -> a__head(mark(z1)) [0] a__2nd(z0) -> 2nd(z0) [0] a__take(0, z0) -> nil [0] a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) [0] a__take(z0, z1) -> take(z0, z1) [0] a__sel(0, cons(z0, z1)) -> mark(z0) [0] a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) [0] a__sel(z0, z1) -> sel(z0, z1) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(2nd(z0)) -> a__2nd(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(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(0) -> 0 [0] mark(nil) -> nil [0] The TRS has the following type information: A__FROM :: cons:s:0:from:head:2nd:take:sel:nil -> c c :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c MARK :: cons:s:0:from:head:2nd:take:sel:nil -> c13:c14:c15:c16:c17:c18:c19:c20:c21 A__HEAD :: cons:s:0:from:head:2nd:take:sel:nil -> c2 cons :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c2 A__2ND :: cons:s:0:from:head:2nd:take:sel:nil -> c4 c4 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c4 mark :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil A__TAKE :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> c7 s :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c7 A__SEL :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> c9:c10:c11 0 :: cons:s:0:from:head:2nd:take:sel:nil c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c10 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c11 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 from :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c13 :: c -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 head :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c14 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 2nd :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c15 :: c4 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 take :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c16 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c17 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 sel :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil c18 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c19 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 a__from :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil a__head :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil a__2nd :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil a__take :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil nil :: cons:s:0:from:head:2nd:take:sel:nil a__sel :: cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel:nil -> cons:s:0:from:head:2nd:take:sel: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__FROM_1 A__HEAD_1 A__2ND_1 A__TAKE_2 A__SEL_2 MARK_1 (c) The following functions are completely defined: a__from_1 a__head_1 a__2nd_1 a__take_2 a__sel_2 mark_1 Due to the following rules being added: a__from(v0) -> null_a__from [0] a__head(v0) -> null_a__head [0] a__2nd(v0) -> null_a__2nd [0] a__take(v0, v1) -> null_a__take [0] a__sel(v0, v1) -> null_a__sel [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__from, null_a__head, null_a__2nd, null_a__take, null_a__sel, null_mark, const, const1, const2, const3, const4, const5 ---------------------------------------- (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__FROM(z0) -> c(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) [1] A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) [1] A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) [1] A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) [1] MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c20(MARK(z0)) [1] MARK(s(z0)) -> c21(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__2nd(cons(z0, z1)) -> a__head(mark(z1)) [0] a__2nd(z0) -> 2nd(z0) [0] a__take(0, z0) -> nil [0] a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) [0] a__take(z0, z1) -> take(z0, z1) [0] a__sel(0, cons(z0, z1)) -> mark(z0) [0] a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) [0] a__sel(z0, z1) -> sel(z0, z1) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(2nd(z0)) -> a__2nd(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(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(0) -> 0 [0] mark(nil) -> nil [0] a__from(v0) -> null_a__from [0] a__head(v0) -> null_a__head [0] a__2nd(v0) -> null_a__2nd [0] a__take(v0, v1) -> null_a__take [0] a__sel(v0, v1) -> null_a__sel [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__FROM :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c c :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c MARK :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c13:c14:c15:c16:c17:c18:c19:c20:c21 A__HEAD :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c2 cons :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c2 A__2ND :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c4 c4 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c4 mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark A__TAKE :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c7 s :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c7 A__SEL :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c9:c10:c11 0 :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c10 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c11 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c13 :: c -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c14 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c15 :: c4 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c16 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c17 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c18 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c19 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark nil :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark const :: c const1 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 const2 :: c2 const3 :: c4 const4 :: c7 const5 :: c9:c10:c11 Rewrite Strategy: INNERMOST ---------------------------------------- (47) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (48) 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__FROM(z0) -> c(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) [1] A__2ND(cons(z0, from(z0'))) -> c4(A__HEAD(a__from(mark(z0'))), MARK(from(z0'))) [1] A__2ND(cons(z0, head(z0''))) -> c4(A__HEAD(a__head(mark(z0''))), MARK(head(z0''))) [1] A__2ND(cons(z0, 2nd(z01))) -> c4(A__HEAD(a__2nd(mark(z01))), MARK(2nd(z01))) [1] A__2ND(cons(z0, take(z02, z1'))) -> c4(A__HEAD(a__take(mark(z02), mark(z1'))), MARK(take(z02, z1'))) [1] A__2ND(cons(z0, sel(z03, z1''))) -> c4(A__HEAD(a__sel(mark(z03), mark(z1''))), MARK(sel(z03, z1''))) [1] A__2ND(cons(z0, cons(z04, z11))) -> c4(A__HEAD(cons(mark(z04), z11)), MARK(cons(z04, z11))) [1] A__2ND(cons(z0, s(z05))) -> c4(A__HEAD(s(mark(z05))), MARK(s(z05))) [1] A__2ND(cons(z0, 0)) -> c4(A__HEAD(0), MARK(0)) [1] A__2ND(cons(z0, nil)) -> c4(A__HEAD(nil), MARK(nil)) [1] A__2ND(cons(z0, z1)) -> c4(A__HEAD(null_mark), MARK(z1)) [1] A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) [1] A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) [1] MARK(from(from(z0160))) -> c13(A__FROM(a__from(mark(z0160))), MARK(from(z0160))) [1] MARK(from(head(z0161))) -> c13(A__FROM(a__head(mark(z0161))), MARK(head(z0161))) [1] MARK(from(2nd(z0162))) -> c13(A__FROM(a__2nd(mark(z0162))), MARK(2nd(z0162))) [1] MARK(from(take(z0163, z168))) -> c13(A__FROM(a__take(mark(z0163), mark(z168))), MARK(take(z0163, z168))) [1] MARK(from(sel(z0164, z169))) -> c13(A__FROM(a__sel(mark(z0164), mark(z169))), MARK(sel(z0164, z169))) [1] MARK(from(cons(z0165, z170))) -> c13(A__FROM(cons(mark(z0165), z170)), MARK(cons(z0165, z170))) [1] MARK(from(s(z0166))) -> c13(A__FROM(s(mark(z0166))), MARK(s(z0166))) [1] MARK(from(0)) -> c13(A__FROM(0), MARK(0)) [1] MARK(from(nil)) -> c13(A__FROM(nil), MARK(nil)) [1] MARK(from(z0)) -> c13(A__FROM(null_mark), MARK(z0)) [1] MARK(head(from(z0167))) -> c14(A__HEAD(a__from(mark(z0167))), MARK(from(z0167))) [1] MARK(head(head(z0168))) -> c14(A__HEAD(a__head(mark(z0168))), MARK(head(z0168))) [1] MARK(head(2nd(z0169))) -> c14(A__HEAD(a__2nd(mark(z0169))), MARK(2nd(z0169))) [1] MARK(head(take(z0170, z171))) -> c14(A__HEAD(a__take(mark(z0170), mark(z171))), MARK(take(z0170, z171))) [1] MARK(head(sel(z0171, z172))) -> c14(A__HEAD(a__sel(mark(z0171), mark(z172))), MARK(sel(z0171, z172))) [1] MARK(head(cons(z0172, z173))) -> c14(A__HEAD(cons(mark(z0172), z173)), MARK(cons(z0172, z173))) [1] MARK(head(s(z0173))) -> c14(A__HEAD(s(mark(z0173))), MARK(s(z0173))) [1] MARK(head(0)) -> c14(A__HEAD(0), MARK(0)) [1] MARK(head(nil)) -> c14(A__HEAD(nil), MARK(nil)) [1] MARK(head(z0)) -> c14(A__HEAD(null_mark), MARK(z0)) [1] MARK(2nd(from(z0174))) -> c15(A__2ND(a__from(mark(z0174))), MARK(from(z0174))) [1] MARK(2nd(head(z0175))) -> c15(A__2ND(a__head(mark(z0175))), MARK(head(z0175))) [1] MARK(2nd(2nd(z0176))) -> c15(A__2ND(a__2nd(mark(z0176))), MARK(2nd(z0176))) [1] MARK(2nd(take(z0177, z174))) -> c15(A__2ND(a__take(mark(z0177), mark(z174))), MARK(take(z0177, z174))) [1] MARK(2nd(sel(z0178, z175))) -> c15(A__2ND(a__sel(mark(z0178), mark(z175))), MARK(sel(z0178, z175))) [1] MARK(2nd(cons(z0179, z176))) -> c15(A__2ND(cons(mark(z0179), z176)), MARK(cons(z0179, z176))) [1] MARK(2nd(s(z0180))) -> c15(A__2ND(s(mark(z0180))), MARK(s(z0180))) [1] MARK(2nd(0)) -> c15(A__2ND(0), MARK(0)) [1] MARK(2nd(nil)) -> c15(A__2ND(nil), MARK(nil)) [1] MARK(2nd(z0)) -> c15(A__2ND(null_mark), MARK(z0)) [1] MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c20(MARK(z0)) [1] MARK(s(z0)) -> c21(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__2nd(cons(z0, from(z0489))) -> a__head(a__from(mark(z0489))) [0] a__2nd(cons(z0, head(z0490))) -> a__head(a__head(mark(z0490))) [0] a__2nd(cons(z0, 2nd(z0491))) -> a__head(a__2nd(mark(z0491))) [0] a__2nd(cons(z0, take(z0492, z1209))) -> a__head(a__take(mark(z0492), mark(z1209))) [0] a__2nd(cons(z0, sel(z0493, z1210))) -> a__head(a__sel(mark(z0493), mark(z1210))) [0] a__2nd(cons(z0, cons(z0494, z1211))) -> a__head(cons(mark(z0494), z1211)) [0] a__2nd(cons(z0, s(z0495))) -> a__head(s(mark(z0495))) [0] a__2nd(cons(z0, 0)) -> a__head(0) [0] a__2nd(cons(z0, nil)) -> a__head(nil) [0] a__2nd(cons(z0, z1)) -> a__head(null_mark) [0] a__2nd(z0) -> 2nd(z0) [0] a__take(0, z0) -> nil [0] a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) [0] a__take(z0, z1) -> take(z0, z1) [0] a__sel(0, cons(z0, z1)) -> mark(z0) [0] a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) [0] a__sel(z0, z1) -> sel(z0, z1) [0] mark(from(from(z0573))) -> a__from(a__from(mark(z0573))) [0] mark(from(head(z0574))) -> a__from(a__head(mark(z0574))) [0] mark(from(2nd(z0575))) -> a__from(a__2nd(mark(z0575))) [0] mark(from(take(z0576, z1245))) -> a__from(a__take(mark(z0576), mark(z1245))) [0] mark(from(sel(z0577, z1246))) -> a__from(a__sel(mark(z0577), mark(z1246))) [0] mark(from(cons(z0578, z1247))) -> a__from(cons(mark(z0578), z1247)) [0] mark(from(s(z0579))) -> a__from(s(mark(z0579))) [0] mark(from(0)) -> a__from(0) [0] mark(from(nil)) -> a__from(nil) [0] mark(from(z0)) -> a__from(null_mark) [0] mark(head(from(z0580))) -> a__head(a__from(mark(z0580))) [0] mark(head(head(z0581))) -> a__head(a__head(mark(z0581))) [0] mark(head(2nd(z0582))) -> a__head(a__2nd(mark(z0582))) [0] mark(head(take(z0583, z1248))) -> a__head(a__take(mark(z0583), mark(z1248))) [0] mark(head(sel(z0584, z1249))) -> a__head(a__sel(mark(z0584), mark(z1249))) [0] mark(head(cons(z0585, z1250))) -> a__head(cons(mark(z0585), z1250)) [0] mark(head(s(z0586))) -> a__head(s(mark(z0586))) [0] mark(head(0)) -> a__head(0) [0] mark(head(nil)) -> a__head(nil) [0] mark(head(z0)) -> a__head(null_mark) [0] mark(2nd(from(z0587))) -> a__2nd(a__from(mark(z0587))) [0] mark(2nd(head(z0588))) -> a__2nd(a__head(mark(z0588))) [0] mark(2nd(2nd(z0589))) -> a__2nd(a__2nd(mark(z0589))) [0] mark(2nd(take(z0590, z1251))) -> a__2nd(a__take(mark(z0590), mark(z1251))) [0] mark(2nd(sel(z0591, z1252))) -> a__2nd(a__sel(mark(z0591), mark(z1252))) [0] mark(2nd(cons(z0592, z1253))) -> a__2nd(cons(mark(z0592), z1253)) [0] mark(2nd(s(z0593))) -> a__2nd(s(mark(z0593))) [0] mark(2nd(0)) -> a__2nd(0) [0] mark(2nd(nil)) -> a__2nd(nil) [0] mark(2nd(z0)) -> a__2nd(null_mark) [0] mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) [0] mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(0) -> 0 [0] mark(nil) -> nil [0] a__from(v0) -> null_a__from [0] a__head(v0) -> null_a__head [0] a__2nd(v0) -> null_a__2nd [0] a__take(v0, v1) -> null_a__take [0] a__sel(v0, v1) -> null_a__sel [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__FROM :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c c :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c MARK :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c13:c14:c15:c16:c17:c18:c19:c20:c21 A__HEAD :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c2 cons :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c2 A__2ND :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c4 c4 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c4 mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark A__TAKE :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c7 s :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c7 A__SEL :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c9:c10:c11 0 :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c10 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 c11 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c9:c10:c11 from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c13 :: c -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c14 :: c2 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c15 :: c4 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c16 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c17 :: c7 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c18 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c19 :: c9:c10:c11 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c13:c14:c15:c16:c17:c18:c19:c20:c21 a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark nil :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark const :: c const1 :: c13:c14:c15:c16:c17:c18:c19:c20:c21 const2 :: c2 const3 :: c4 const4 :: c7 const5 :: c9:c10:c11 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: 0 => 0 nil => 1 null_a__from => 0 null_a__head => 0 null_a__2nd => 0 null_a__take => 0 null_a__sel => 0 null_mark => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 const5 => 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__take(mark(z02), mark(z1'))) + MARK(1 + z02 + z1') :|: z = 1 + z0 + (1 + z02 + z1'), z02 >= 0, z1' >= 0, z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__sel(mark(z03), mark(z1''))) + MARK(1 + z03 + z1'') :|: z = 1 + z0 + (1 + z03 + z1''), z0 >= 0, z03 >= 0, z1'' >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z0''))) + MARK(1 + z0'') :|: z = 1 + z0 + (1 + z0''), z0 >= 0, z0'' >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__from(mark(z0'))) + MARK(1 + z0') :|: z0' >= 0, z = 1 + z0 + (1 + z0'), z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__2nd(mark(z01))) + MARK(1 + z01) :|: z01 >= 0, z = 1 + z0 + (1 + z01), z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z0 >= 0, z = 1 + z0 + 1 A__2ND(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__2ND(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z0 >= 0, z = 1 + z0 + 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z05)) + MARK(1 + z05) :|: z = 1 + z0 + (1 + z05), z0 >= 0, z05 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z04) + z11) + MARK(1 + z04 + z11) :|: z04 >= 0, z11 >= 0, z0 >= 0, z = 1 + z0 + (1 + z04 + z11) A__FROM(z) -{ 1 }-> 1 + MARK(z0) :|: z = z0, z0 >= 0 A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__SEL(z, z') -{ 1 }-> 1 + MARK(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z0), mark(z2)) + MARK(z0) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z0), mark(z2)) + MARK(z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 A__TAKE(z, z') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 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 + 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__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__HEAD(a__take(mark(z0170), mark(z171))) + MARK(1 + z0170 + z171) :|: z0170 >= 0, z = 1 + (1 + z0170 + z171), z171 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__sel(mark(z0171), mark(z172))) + MARK(1 + z0171 + z172) :|: z = 1 + (1 + z0171 + z172), z0171 >= 0, z172 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z0168))) + MARK(1 + z0168) :|: z0168 >= 0, z = 1 + (1 + z0168) MARK(z) -{ 1 }-> 1 + A__HEAD(a__from(mark(z0167))) + MARK(1 + z0167) :|: z0167 >= 0, z = 1 + (1 + z0167) MARK(z) -{ 1 }-> 1 + A__HEAD(a__2nd(mark(z0169))) + MARK(1 + z0169) :|: z = 1 + (1 + z0169), z0169 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z0173)) + MARK(1 + z0173) :|: z0173 >= 0, z = 1 + (1 + z0173) MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z0172) + z173) + MARK(1 + z0172 + z173) :|: z173 >= 0, z = 1 + (1 + z0172 + z173), z0172 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__take(mark(z0163), mark(z168))) + MARK(1 + z0163 + z168) :|: z0163 >= 0, z = 1 + (1 + z0163 + z168), z168 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__sel(mark(z0164), mark(z169))) + MARK(1 + z0164 + z169) :|: z0164 >= 0, z = 1 + (1 + z0164 + z169), z169 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__head(mark(z0161))) + MARK(1 + z0161) :|: z0161 >= 0, z = 1 + (1 + z0161) MARK(z) -{ 1 }-> 1 + A__FROM(a__from(mark(z0160))) + MARK(1 + z0160) :|: z0160 >= 0, z = 1 + (1 + z0160) MARK(z) -{ 1 }-> 1 + A__FROM(a__2nd(mark(z0162))) + MARK(1 + z0162) :|: z0162 >= 0, z = 1 + (1 + z0162) MARK(z) -{ 1 }-> 1 + A__FROM(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__FROM(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__FROM(1 + mark(z0166)) + MARK(1 + z0166) :|: z = 1 + (1 + z0166), z0166 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(1 + mark(z0165) + z170) + MARK(1 + z0165 + z170) :|: z = 1 + (1 + z0165 + z170), z170 >= 0, z0165 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__take(mark(z0177), mark(z174))) + MARK(1 + z0177 + z174) :|: z = 1 + (1 + z0177 + z174), z174 >= 0, z0177 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__sel(mark(z0178), mark(z175))) + MARK(1 + z0178 + z175) :|: z = 1 + (1 + z0178 + z175), z0178 >= 0, z175 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__head(mark(z0175))) + MARK(1 + z0175) :|: z = 1 + (1 + z0175), z0175 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__from(mark(z0174))) + MARK(1 + z0174) :|: z0174 >= 0, z = 1 + (1 + z0174) MARK(z) -{ 1 }-> 1 + A__2ND(a__2nd(mark(z0176))) + MARK(1 + z0176) :|: z0176 >= 0, z = 1 + (1 + z0176) MARK(z) -{ 1 }-> 1 + A__2ND(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__2ND(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__2ND(1 + mark(z0180)) + MARK(1 + z0180) :|: z0180 >= 0, z = 1 + (1 + z0180) MARK(z) -{ 1 }-> 1 + A__2ND(1 + mark(z0179) + z176) + MARK(1 + z0179 + z176) :|: z0179 >= 0, z = 1 + (1 + z0179 + z176), z176 >= 0 a__2nd(z) -{ 0 }-> a__head(a__take(mark(z0492), mark(z1209))) :|: z1209 >= 0, z = 1 + z0 + (1 + z0492 + z1209), z0 >= 0, z0492 >= 0 a__2nd(z) -{ 0 }-> a__head(a__sel(mark(z0493), mark(z1210))) :|: z1210 >= 0, z = 1 + z0 + (1 + z0493 + z1210), z0 >= 0, z0493 >= 0 a__2nd(z) -{ 0 }-> a__head(a__head(mark(z0490))) :|: z = 1 + z0 + (1 + z0490), z0 >= 0, z0490 >= 0 a__2nd(z) -{ 0 }-> a__head(a__from(mark(z0489))) :|: z0489 >= 0, z = 1 + z0 + (1 + z0489), z0 >= 0 a__2nd(z) -{ 0 }-> a__head(a__2nd(mark(z0491))) :|: z0 >= 0, z = 1 + z0 + (1 + z0491), z0491 >= 0 a__2nd(z) -{ 0 }-> a__head(1) :|: z0 >= 0, z = 1 + z0 + 1 a__2nd(z) -{ 0 }-> a__head(0) :|: z0 >= 0, z = 1 + z0 + 0 a__2nd(z) -{ 0 }-> a__head(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__2nd(z) -{ 0 }-> a__head(1 + mark(z0495)) :|: z = 1 + z0 + (1 + z0495), z0495 >= 0, z0 >= 0 a__2nd(z) -{ 0 }-> a__head(1 + mark(z0494) + z1211) :|: z = 1 + z0 + (1 + z0494 + z1211), z0 >= 0, z0494 >= 0, z1211 >= 0 a__2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__2nd(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__from(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__from(z) -{ 0 }-> 1 + mark(z0) + (1 + (1 + z0)) :|: z = z0, z0 >= 0 a__head(z) -{ 0 }-> mark(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__sel(z, z') -{ 0 }-> mark(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 a__sel(z, z') -{ 0 }-> a__sel(mark(z0), mark(z2)) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 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__take(z, z') -{ 0 }-> 1 :|: z0 >= 0, z = 0, z' = z0 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 a__take(z, z') -{ 0 }-> 1 + mark(z1) + (1 + z0 + z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__take(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__sel(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__head(a__take(mark(z0583), mark(z1248))) :|: z0583 >= 0, z1248 >= 0, z = 1 + (1 + z0583 + z1248) mark(z) -{ 0 }-> a__head(a__sel(mark(z0584), mark(z1249))) :|: z = 1 + (1 + z0584 + z1249), z0584 >= 0, z1249 >= 0 mark(z) -{ 0 }-> a__head(a__head(mark(z0581))) :|: z = 1 + (1 + z0581), z0581 >= 0 mark(z) -{ 0 }-> a__head(a__from(mark(z0580))) :|: z0580 >= 0, z = 1 + (1 + z0580) mark(z) -{ 0 }-> a__head(a__2nd(mark(z0582))) :|: z0582 >= 0, z = 1 + (1 + z0582) mark(z) -{ 0 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z0586)) :|: z = 1 + (1 + z0586), z0586 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z0585) + z1250) :|: z1250 >= 0, z = 1 + (1 + z0585 + z1250), z0585 >= 0 mark(z) -{ 0 }-> a__from(a__take(mark(z0576), mark(z1245))) :|: z = 1 + (1 + z0576 + z1245), z0576 >= 0, z1245 >= 0 mark(z) -{ 0 }-> a__from(a__sel(mark(z0577), mark(z1246))) :|: z0577 >= 0, z = 1 + (1 + z0577 + z1246), z1246 >= 0 mark(z) -{ 0 }-> a__from(a__head(mark(z0574))) :|: z = 1 + (1 + z0574), z0574 >= 0 mark(z) -{ 0 }-> a__from(a__from(mark(z0573))) :|: z0573 >= 0, z = 1 + (1 + z0573) mark(z) -{ 0 }-> a__from(a__2nd(mark(z0575))) :|: z = 1 + (1 + z0575), z0575 >= 0 mark(z) -{ 0 }-> a__from(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__from(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__from(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__from(1 + mark(z0579)) :|: z = 1 + (1 + z0579), z0579 >= 0 mark(z) -{ 0 }-> a__from(1 + mark(z0578) + z1247) :|: z = 1 + (1 + z0578 + z1247), z0578 >= 0, z1247 >= 0 mark(z) -{ 0 }-> a__2nd(a__take(mark(z0590), mark(z1251))) :|: z = 1 + (1 + z0590 + z1251), z1251 >= 0, z0590 >= 0 mark(z) -{ 0 }-> a__2nd(a__sel(mark(z0591), mark(z1252))) :|: z = 1 + (1 + z0591 + z1252), z1252 >= 0, z0591 >= 0 mark(z) -{ 0 }-> a__2nd(a__head(mark(z0588))) :|: z0588 >= 0, z = 1 + (1 + z0588) mark(z) -{ 0 }-> a__2nd(a__from(mark(z0587))) :|: z = 1 + (1 + z0587), z0587 >= 0 mark(z) -{ 0 }-> a__2nd(a__2nd(mark(z0589))) :|: z = 1 + (1 + z0589), z0589 >= 0 mark(z) -{ 0 }-> a__2nd(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__2nd(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__2nd(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__2nd(1 + mark(z0593)) :|: z0593 >= 0, z = 1 + (1 + z0593) mark(z) -{ 0 }-> a__2nd(1 + mark(z0592) + z1253) :|: z1253 >= 0, z = 1 + (1 + z0592 + z1253), z0592 >= 0 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 ---------------------------------------- (51) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__take(mark(z02), mark(z1'))) + MARK(1 + z02 + z1') :|: z = 1 + z0 + (1 + z02 + z1'), z02 >= 0, z1' >= 0, z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__sel(mark(z03), mark(z1''))) + MARK(1 + z03 + z1'') :|: z = 1 + z0 + (1 + z03 + z1''), z0 >= 0, z03 >= 0, z1'' >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z0''))) + MARK(1 + z0'') :|: z = 1 + z0 + (1 + z0''), z0 >= 0, z0'' >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__from(mark(z0'))) + MARK(1 + z0') :|: z0' >= 0, z = 1 + z0 + (1 + z0'), z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(a__2nd(mark(z01))) + MARK(1 + z01) :|: z01 >= 0, z = 1 + z0 + (1 + z01), z0 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z - 2 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__2ND(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z - 1 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z05)) + MARK(1 + z05) :|: z = 1 + z0 + (1 + z05), z0 >= 0, z05 >= 0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z04) + z11) + MARK(1 + z04 + z11) :|: z04 >= 0, z11 >= 0, z0 >= 0, z = 1 + z0 + (1 + z04 + z11) A__FROM(z) -{ 1 }-> 1 + MARK(z) :|: z >= 0 A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__SEL(z, z') -{ 1 }-> 1 + MARK(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z - 1), mark(z2)) + MARK(z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z - 1), mark(z2)) + MARK(z - 1) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 A__TAKE(z, z') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z - 1) :|: z - 1 >= 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__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__HEAD(a__take(mark(z0170), mark(z171))) + MARK(1 + z0170 + z171) :|: z0170 >= 0, z = 1 + (1 + z0170 + z171), z171 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__sel(mark(z0171), mark(z172))) + MARK(1 + z0171 + z172) :|: z = 1 + (1 + z0171 + z172), z0171 >= 0, z172 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__from(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__2nd(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z0172) + z173) + MARK(1 + z0172 + z173) :|: z173 >= 0, z = 1 + (1 + z0172 + z173), z0172 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__take(mark(z0163), mark(z168))) + MARK(1 + z0163 + z168) :|: z0163 >= 0, z = 1 + (1 + z0163 + z168), z168 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__sel(mark(z0164), mark(z169))) + MARK(1 + z0164 + z169) :|: z0164 >= 0, z = 1 + (1 + z0164 + z169), z169 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__from(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(a__2nd(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__FROM(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__FROM(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(1 + mark(z0165) + z170) + MARK(1 + z0165 + z170) :|: z = 1 + (1 + z0165 + z170), z170 >= 0, z0165 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__take(mark(z0177), mark(z174))) + MARK(1 + z0177 + z174) :|: z = 1 + (1 + z0177 + z174), z174 >= 0, z0177 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__sel(mark(z0178), mark(z175))) + MARK(1 + z0178 + z175) :|: z = 1 + (1 + z0178 + z175), z0178 >= 0, z175 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__from(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(a__2nd(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__2ND(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__2ND(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(1 + mark(z0179) + z176) + MARK(1 + z0179 + z176) :|: z0179 >= 0, z = 1 + (1 + z0179 + z176), z176 >= 0 a__2nd(z) -{ 0 }-> a__head(a__take(mark(z0492), mark(z1209))) :|: z1209 >= 0, z = 1 + z0 + (1 + z0492 + z1209), z0 >= 0, z0492 >= 0 a__2nd(z) -{ 0 }-> a__head(a__sel(mark(z0493), mark(z1210))) :|: z1210 >= 0, z = 1 + z0 + (1 + z0493 + z1210), z0 >= 0, z0493 >= 0 a__2nd(z) -{ 0 }-> a__head(a__head(mark(z0490))) :|: z = 1 + z0 + (1 + z0490), z0 >= 0, z0490 >= 0 a__2nd(z) -{ 0 }-> a__head(a__from(mark(z0489))) :|: z0489 >= 0, z = 1 + z0 + (1 + z0489), z0 >= 0 a__2nd(z) -{ 0 }-> a__head(a__2nd(mark(z0491))) :|: z0 >= 0, z = 1 + z0 + (1 + z0491), z0491 >= 0 a__2nd(z) -{ 0 }-> a__head(1) :|: z - 2 >= 0 a__2nd(z) -{ 0 }-> a__head(0) :|: z - 1 >= 0 a__2nd(z) -{ 0 }-> a__head(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__2nd(z) -{ 0 }-> a__head(1 + mark(z0495)) :|: z = 1 + z0 + (1 + z0495), z0495 >= 0, z0 >= 0 a__2nd(z) -{ 0 }-> a__head(1 + mark(z0494) + z1211) :|: z = 1 + z0 + (1 + z0494 + z1211), z0 >= 0, z0494 >= 0, z1211 >= 0 a__2nd(z) -{ 0 }-> 0 :|: z >= 0 a__2nd(z) -{ 0 }-> 1 + z :|: z >= 0 a__from(z) -{ 0 }-> 0 :|: z >= 0 a__from(z) -{ 0 }-> 1 + z :|: z >= 0 a__from(z) -{ 0 }-> 1 + mark(z) + (1 + (1 + z)) :|: z >= 0 a__head(z) -{ 0 }-> mark(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: z >= 0 a__head(z) -{ 0 }-> 1 + z :|: z >= 0 a__sel(z, z') -{ 0 }-> mark(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 a__sel(z, z') -{ 0 }-> a__sel(mark(z - 1), mark(z2)) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 a__sel(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__sel(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 a__take(z, z') -{ 0 }-> 1 :|: z' >= 0, z = 0 a__take(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__take(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 a__take(z, z') -{ 0 }-> 1 + mark(z1) + (1 + (z - 1) + z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__take(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__sel(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__head(a__take(mark(z0583), mark(z1248))) :|: z0583 >= 0, z1248 >= 0, z = 1 + (1 + z0583 + z1248) mark(z) -{ 0 }-> a__head(a__sel(mark(z0584), mark(z1249))) :|: z = 1 + (1 + z0584 + z1249), z0584 >= 0, z1249 >= 0 mark(z) -{ 0 }-> a__head(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__head(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z0585) + z1250) :|: z1250 >= 0, z = 1 + (1 + z0585 + z1250), z0585 >= 0 mark(z) -{ 0 }-> a__from(a__take(mark(z0576), mark(z1245))) :|: z = 1 + (1 + z0576 + z1245), z0576 >= 0, z1245 >= 0 mark(z) -{ 0 }-> a__from(a__sel(mark(z0577), mark(z1246))) :|: z0577 >= 0, z = 1 + (1 + z0577 + z1246), z1246 >= 0 mark(z) -{ 0 }-> a__from(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__from(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__from(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__from(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__from(1 + mark(z0578) + z1247) :|: z = 1 + (1 + z0578 + z1247), z0578 >= 0, z1247 >= 0 mark(z) -{ 0 }-> a__2nd(a__take(mark(z0590), mark(z1251))) :|: z = 1 + (1 + z0590 + z1251), z1251 >= 0, z0590 >= 0 mark(z) -{ 0 }-> a__2nd(a__sel(mark(z0591), mark(z1252))) :|: z = 1 + (1 + z0591 + z1252), z1252 >= 0, z0591 >= 0 mark(z) -{ 0 }-> a__2nd(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__2nd(a__from(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__2nd(a__2nd(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__2nd(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__2nd(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__2nd(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__2nd(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__2nd(1 + mark(z0592) + z1253) :|: z1253 >= 0, z = 1 + (1 + z0592 + z1253), z0592 >= 0 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 1 + mark(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 ---------------------------------------- (53) 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__from(v0) -> null_a__from [0] a__head(v0) -> null_a__head [0] a__2nd(v0) -> null_a__2nd [0] a__take(v0, v1) -> null_a__take [0] a__sel(v0, v1) -> null_a__sel [0] mark(v0) -> null_mark [0] A__HEAD(v0) -> null_A__HEAD [0] A__2ND(v0) -> null_A__2ND [0] A__TAKE(v0, v1) -> null_A__TAKE [0] A__SEL(v0, v1) -> null_A__SEL [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__from, null_a__head, null_a__2nd, null_a__take, null_a__sel, null_mark, null_A__HEAD, null_A__2ND, null_A__TAKE, null_A__SEL, null_MARK, const ---------------------------------------- (54) 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__FROM(z0) -> c(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) [1] A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) [1] A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) [1] A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) [1] A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) [1] MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) [1] MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) [1] MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) [1] MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) [1] MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) [1] MARK(cons(z0, z1)) -> c20(MARK(z0)) [1] MARK(s(z0)) -> c21(MARK(z0)) [1] a__from(z0) -> cons(mark(z0), from(s(z0))) [0] a__from(z0) -> from(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__2nd(cons(z0, z1)) -> a__head(mark(z1)) [0] a__2nd(z0) -> 2nd(z0) [0] a__take(0, z0) -> nil [0] a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) [0] a__take(z0, z1) -> take(z0, z1) [0] a__sel(0, cons(z0, z1)) -> mark(z0) [0] a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) [0] a__sel(z0, z1) -> sel(z0, z1) [0] mark(from(z0)) -> a__from(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(2nd(z0)) -> a__2nd(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(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(s(z0)) -> s(mark(z0)) [0] mark(0) -> 0 [0] mark(nil) -> nil [0] a__from(v0) -> null_a__from [0] a__head(v0) -> null_a__head [0] a__2nd(v0) -> null_a__2nd [0] a__take(v0, v1) -> null_a__take [0] a__sel(v0, v1) -> null_a__sel [0] mark(v0) -> null_mark [0] A__HEAD(v0) -> null_A__HEAD [0] A__2ND(v0) -> null_A__2ND [0] A__TAKE(v0, v1) -> null_A__TAKE [0] A__SEL(v0, v1) -> null_A__SEL [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__FROM :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c c :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c MARK :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK A__HEAD :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c2:null_A__HEAD cons :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c2 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c2:null_A__HEAD A__2ND :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c4:null_A__2ND c4 :: c2:null_A__HEAD -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c4:null_A__2ND mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark A__TAKE :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c7:null_A__TAKE s :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c7 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c7:null_A__TAKE A__SEL :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> c9:c10:c11:null_A__SEL 0 :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c9 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c9:c10:c11:null_A__SEL c10 :: c9:c10:c11:null_A__SEL -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c9:c10:c11:null_A__SEL c11 :: c9:c10:c11:null_A__SEL -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c9:c10:c11:null_A__SEL from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c13 :: c -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c14 :: c2:null_A__HEAD -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK 2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c15 :: c4:null_A__2ND -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c16 :: c7:null_A__TAKE -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK c17 :: c7:null_A__TAKE -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark c18 :: c9:c10:c11:null_A__SEL -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK c19 :: c9:c10:c11:null_A__SEL -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK c20 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK c21 :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK -> c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark nil :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark -> cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__from :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__head :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__2nd :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__take :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_a__sel :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_mark :: cons:s:0:from:head:2nd:take:sel:nil:null_a__from:null_a__head:null_a__2nd:null_a__take:null_a__sel:null_mark null_A__HEAD :: c2:null_A__HEAD null_A__2ND :: c4:null_A__2ND null_A__TAKE :: c7:null_A__TAKE null_A__SEL :: c9:c10:c11:null_A__SEL null_MARK :: c13:c14:c15:c16:c17:c18:c19:c20:c21:null_MARK const :: c Rewrite Strategy: INNERMOST ---------------------------------------- (55) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 1 null_a__from => 0 null_a__head => 0 null_a__2nd => 0 null_a__take => 0 null_a__sel => 0 null_mark => 0 null_A__HEAD => 0 null_A__2ND => 0 null_A__TAKE => 0 null_A__SEL => 0 null_MARK => 0 const => 0 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: A__2ND(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__2ND(z) -{ 1 }-> 1 + A__HEAD(mark(z1)) + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__FROM(z) -{ 1 }-> 1 + MARK(z0) :|: z = z0, z0 >= 0 A__HEAD(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__SEL(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__SEL(z, z') -{ 1 }-> 1 + MARK(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z0), mark(z2)) + MARK(z0) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 A__SEL(z, z') -{ 1 }-> 1 + A__SEL(mark(z0), mark(z2)) + MARK(z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 A__TAKE(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__TAKE(z, z') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 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 + 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__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__HEAD(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__FROM(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__2ND(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 a__2nd(z) -{ 0 }-> a__head(mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__2nd(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__2nd(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__from(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__from(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__from(z) -{ 0 }-> 1 + mark(z0) + (1 + (1 + z0)) :|: z = z0, z0 >= 0 a__head(z) -{ 0 }-> mark(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__sel(z, z') -{ 0 }-> mark(z0) :|: z' = 1 + z0 + z1, z1 >= 0, z0 >= 0, z = 0 a__sel(z, z') -{ 0 }-> a__sel(mark(z0), mark(z2)) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 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__take(z, z') -{ 0 }-> 1 :|: z0 >= 0, z = 0, z' = z0 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 a__take(z, z') -{ 0 }-> 1 + mark(z1) + (1 + z0 + z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__take(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__sel(mark(z0), mark(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__head(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__from(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__2nd(mark(z0)) :|: z = 1 + z0, z0 >= 0 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 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(z0, z1)) -> c4(A__HEAD(mark(z1)), MARK(z1)) by A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(A__HEAD(s(mark(z0))), MARK(s(z0))) A__2ND(cons(x0, 0)) -> c4(A__HEAD(0), MARK(0)) A__2ND(cons(x0, nil)) -> c4(A__HEAD(nil), MARK(nil)) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(A__HEAD(s(mark(z0))), MARK(s(z0))) A__2ND(cons(x0, 0)) -> c4(A__HEAD(0), MARK(0)) A__2ND(cons(x0, nil)) -> c4(A__HEAD(nil), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(A__HEAD(s(mark(z0))), MARK(s(z0))) A__2ND(cons(x0, 0)) -> c4(A__HEAD(0), MARK(0)) A__2ND(cons(x0, nil)) -> c4(A__HEAD(nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c10_2, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2 ---------------------------------------- (59) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__2ND(cons(x0, nil)) -> c4(A__HEAD(nil), MARK(nil)) A__2ND(cons(x0, 0)) -> c4(A__HEAD(0), MARK(0)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(A__HEAD(s(mark(z0))), MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(A__HEAD(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c10_2, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c10_2, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(z0), cons(z1, z2)) -> c10(A__SEL(mark(z0), mark(z2)), MARK(z0)) by A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(x0), cons(x1, s(z0))) -> c10(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(A__SEL(mark(x0), 0), MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(A__SEL(mark(x0), nil), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2)), MARK(0)) A__SEL(s(nil), cons(x1, x2)) -> c10(A__SEL(nil, mark(x2)), MARK(nil)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(x0), cons(x1, s(z0))) -> c10(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(A__SEL(mark(x0), 0), MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(A__SEL(mark(x0), nil), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2)), MARK(0)) A__SEL(s(nil), cons(x1, x2)) -> c10(A__SEL(nil, mark(x2)), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(x0), cons(x1, s(z0))) -> c10(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(A__SEL(mark(x0), 0), MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(A__SEL(mark(x0), nil), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2)), MARK(0)) A__SEL(s(nil), cons(x1, x2)) -> c10(A__SEL(nil, mark(x2)), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2 ---------------------------------------- (65) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, x2)) -> c10(A__SEL(nil, mark(x2)), MARK(nil)) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(x0), cons(x1, s(z0))) -> c10(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(A__SEL(mark(x0), 0), MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(A__SEL(mark(x0), nil), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2)), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(x0), cons(x1, s(z0))) -> c10(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(A__SEL(mark(x0), 0), MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(A__SEL(mark(x0), nil), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2)), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2 ---------------------------------------- (67) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c11_2, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(z0), cons(z1, z2)) -> c11(A__SEL(mark(z0), mark(z2)), MARK(z2)) by A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 0)) -> c11(A__SEL(mark(x0), 0), MARK(0)) A__SEL(s(x0), cons(x1, nil)) -> c11(A__SEL(mark(x0), nil), MARK(nil)) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(A__SEL(nil, mark(x2)), MARK(x2)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 0)) -> c11(A__SEL(mark(x0), 0), MARK(0)) A__SEL(s(x0), cons(x1, nil)) -> c11(A__SEL(mark(x0), nil), MARK(nil)) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(A__SEL(nil, mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 0)) -> c11(A__SEL(mark(x0), 0), MARK(0)) A__SEL(s(x0), cons(x1, nil)) -> c11(A__SEL(mark(x0), nil), MARK(nil)) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(A__SEL(nil, mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2 ---------------------------------------- (71) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(x0), cons(x1, 0)) -> c11(A__SEL(mark(x0), 0), MARK(0)) A__SEL(s(x0), cons(x1, nil)) -> c11(A__SEL(mark(x0), nil), MARK(nil)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(A__SEL(nil, mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(A__SEL(cons(mark(z0), z1), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(A__SEL(nil, mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c14_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(z0)) -> c14(A__HEAD(mark(z0)), MARK(z0)) by MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(0)) -> c14(A__HEAD(0), MARK(0)) MARK(head(nil)) -> c14(A__HEAD(nil), MARK(nil)) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(0)) -> c14(A__HEAD(0), MARK(0)) MARK(head(nil)) -> c14(A__HEAD(nil), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(0)) -> c14(A__HEAD(0), MARK(0)) MARK(head(nil)) -> c14(A__HEAD(nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2 ---------------------------------------- (77) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(head(nil)) -> c14(A__HEAD(nil), MARK(nil)) MARK(head(0)) -> c14(A__HEAD(0), MARK(0)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(A__HEAD(s(mark(z0))), MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(A__HEAD(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c15_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(2nd(z0)) -> c15(A__2ND(mark(z0)), MARK(z0)) by MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(A__2ND(s(mark(z0))), MARK(s(z0))) MARK(2nd(0)) -> c15(A__2ND(0), MARK(0)) MARK(2nd(nil)) -> c15(A__2ND(nil), MARK(nil)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(A__2ND(s(mark(z0))), MARK(s(z0))) MARK(2nd(0)) -> c15(A__2ND(0), MARK(0)) MARK(2nd(nil)) -> c15(A__2ND(nil), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(A__2ND(s(mark(z0))), MARK(s(z0))) MARK(2nd(0)) -> c15(A__2ND(0), MARK(0)) MARK(2nd(nil)) -> c15(A__2ND(nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2 ---------------------------------------- (83) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(2nd(0)) -> c15(A__2ND(0), MARK(0)) MARK(2nd(nil)) -> c15(A__2ND(nil), MARK(nil)) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(A__2ND(s(mark(z0))), MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(A__2ND(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2 ---------------------------------------- (85) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c16_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(take(z0, z1)) -> c16(A__TAKE(mark(z0), mark(z1)), MARK(z0)) by MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(x0, s(z0))) -> c16(A__TAKE(mark(x0), s(mark(z0))), MARK(x0)) MARK(take(x0, 0)) -> c16(A__TAKE(mark(x0), 0), MARK(x0)) MARK(take(x0, nil)) -> c16(A__TAKE(mark(x0), nil), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(cons(z0, z1), x1)) -> c16(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(0, x1)) -> c16(A__TAKE(0, mark(x1)), MARK(0)) MARK(take(nil, x1)) -> c16(A__TAKE(nil, mark(x1)), MARK(nil)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(x0, s(z0))) -> c16(A__TAKE(mark(x0), s(mark(z0))), MARK(x0)) MARK(take(x0, 0)) -> c16(A__TAKE(mark(x0), 0), MARK(x0)) MARK(take(x0, nil)) -> c16(A__TAKE(mark(x0), nil), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(cons(z0, z1), x1)) -> c16(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(0, x1)) -> c16(A__TAKE(0, mark(x1)), MARK(0)) MARK(take(nil, x1)) -> c16(A__TAKE(nil, mark(x1)), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(x0, s(z0))) -> c16(A__TAKE(mark(x0), s(mark(z0))), MARK(x0)) MARK(take(x0, 0)) -> c16(A__TAKE(mark(x0), 0), MARK(x0)) MARK(take(x0, nil)) -> c16(A__TAKE(mark(x0), nil), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(cons(z0, z1), x1)) -> c16(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(0, x1)) -> c16(A__TAKE(0, mark(x1)), MARK(0)) MARK(take(nil, x1)) -> c16(A__TAKE(nil, mark(x1)), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2 ---------------------------------------- (89) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(take(0, x1)) -> c16(A__TAKE(0, mark(x1)), MARK(0)) MARK(take(nil, x1)) -> c16(A__TAKE(nil, mark(x1)), MARK(nil)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(x0, s(z0))) -> c16(A__TAKE(mark(x0), s(mark(z0))), MARK(x0)) MARK(take(x0, 0)) -> c16(A__TAKE(mark(x0), 0), MARK(x0)) MARK(take(x0, nil)) -> c16(A__TAKE(mark(x0), nil), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(cons(z0, z1), x1)) -> c16(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(x0, s(z0))) -> c16(A__TAKE(mark(x0), s(mark(z0))), MARK(x0)) MARK(take(x0, 0)) -> c16(A__TAKE(mark(x0), 0), MARK(x0)) MARK(take(x0, nil)) -> c16(A__TAKE(mark(x0), nil), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(cons(z0, z1), x1)) -> c16(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2 ---------------------------------------- (91) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c17_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(take(z0, z1)) -> c17(A__TAKE(mark(z0), mark(z1)), MARK(z1)) by MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(x0, s(z0))) -> c17(A__TAKE(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(take(x0, 0)) -> c17(A__TAKE(mark(x0), 0), MARK(0)) MARK(take(x0, nil)) -> c17(A__TAKE(mark(x0), nil), MARK(nil)) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c17(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(0, x1)) -> c17(A__TAKE(0, mark(x1)), MARK(x1)) MARK(take(nil, x1)) -> c17(A__TAKE(nil, mark(x1)), MARK(x1)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(x0, s(z0))) -> c17(A__TAKE(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(take(x0, 0)) -> c17(A__TAKE(mark(x0), 0), MARK(0)) MARK(take(x0, nil)) -> c17(A__TAKE(mark(x0), nil), MARK(nil)) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c17(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(0, x1)) -> c17(A__TAKE(0, mark(x1)), MARK(x1)) MARK(take(nil, x1)) -> c17(A__TAKE(nil, mark(x1)), MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(x0, s(z0))) -> c17(A__TAKE(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(take(x0, 0)) -> c17(A__TAKE(mark(x0), 0), MARK(0)) MARK(take(x0, nil)) -> c17(A__TAKE(mark(x0), nil), MARK(nil)) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c17(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(0, x1)) -> c17(A__TAKE(0, mark(x1)), MARK(x1)) MARK(take(nil, x1)) -> c17(A__TAKE(nil, mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2 ---------------------------------------- (95) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(take(x0, nil)) -> c17(A__TAKE(mark(x0), nil), MARK(nil)) MARK(take(x0, 0)) -> c17(A__TAKE(mark(x0), 0), MARK(0)) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(x0, s(z0))) -> c17(A__TAKE(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c17(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(0, x1)) -> c17(A__TAKE(0, mark(x1)), MARK(x1)) MARK(take(nil, x1)) -> c17(A__TAKE(nil, mark(x1)), MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(x0, s(z0))) -> c17(A__TAKE(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c17(A__TAKE(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(0, x1)) -> c17(A__TAKE(0, mark(x1)), MARK(x1)) MARK(take(nil, x1)) -> c17(A__TAKE(nil, mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c18_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(sel(z0, z1)) -> c18(A__SEL(mark(z0), mark(z1)), MARK(z0)) by MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(x0, s(z0))) -> c18(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) MARK(sel(x0, 0)) -> c18(A__SEL(mark(x0), 0), MARK(x0)) MARK(sel(x0, nil)) -> c18(A__SEL(mark(x0), nil), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(cons(z0, z1), x1)) -> c18(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1)), MARK(0)) MARK(sel(nil, x1)) -> c18(A__SEL(nil, mark(x1)), MARK(nil)) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(x0, s(z0))) -> c18(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) MARK(sel(x0, 0)) -> c18(A__SEL(mark(x0), 0), MARK(x0)) MARK(sel(x0, nil)) -> c18(A__SEL(mark(x0), nil), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(cons(z0, z1), x1)) -> c18(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1)), MARK(0)) MARK(sel(nil, x1)) -> c18(A__SEL(nil, mark(x1)), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(x0, s(z0))) -> c18(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) MARK(sel(x0, 0)) -> c18(A__SEL(mark(x0), 0), MARK(x0)) MARK(sel(x0, nil)) -> c18(A__SEL(mark(x0), nil), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(cons(z0, z1), x1)) -> c18(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1)), MARK(0)) MARK(sel(nil, x1)) -> c18(A__SEL(nil, mark(x1)), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2 ---------------------------------------- (101) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(sel(nil, x1)) -> c18(A__SEL(nil, mark(x1)), MARK(nil)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(x0, s(z0))) -> c18(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) MARK(sel(x0, 0)) -> c18(A__SEL(mark(x0), 0), MARK(x0)) MARK(sel(x0, nil)) -> c18(A__SEL(mark(x0), nil), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(cons(z0, z1), x1)) -> c18(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1)), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(x0, s(z0))) -> c18(A__SEL(mark(x0), s(mark(z0))), MARK(x0)) MARK(sel(x0, 0)) -> c18(A__SEL(mark(x0), 0), MARK(x0)) MARK(sel(x0, nil)) -> c18(A__SEL(mark(x0), nil), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(cons(z0, z1), x1)) -> c18(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c19_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(sel(z0, z1)) -> c19(A__SEL(mark(z0), mark(z1)), MARK(z1)) by MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(x0, s(z0))) -> c19(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(sel(x0, 0)) -> c19(A__SEL(mark(x0), 0), MARK(0)) MARK(sel(x0, nil)) -> c19(A__SEL(mark(x0), nil), MARK(nil)) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(cons(z0, z1), x1)) -> c19(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(nil, x1)) -> c19(A__SEL(nil, mark(x1)), MARK(x1)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(x0, s(z0))) -> c19(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(sel(x0, 0)) -> c19(A__SEL(mark(x0), 0), MARK(0)) MARK(sel(x0, nil)) -> c19(A__SEL(mark(x0), nil), MARK(nil)) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(cons(z0, z1), x1)) -> c19(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(nil, x1)) -> c19(A__SEL(nil, mark(x1)), MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(x0, s(z0))) -> c19(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(sel(x0, 0)) -> c19(A__SEL(mark(x0), 0), MARK(0)) MARK(sel(x0, nil)) -> c19(A__SEL(mark(x0), nil), MARK(nil)) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(cons(z0, z1), x1)) -> c19(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(nil, x1)) -> c19(A__SEL(nil, mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2 ---------------------------------------- (107) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(sel(x0, nil)) -> c19(A__SEL(mark(x0), nil), MARK(nil)) MARK(sel(x0, 0)) -> c19(A__SEL(mark(x0), 0), MARK(0)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(x0, s(z0))) -> c19(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(cons(z0, z1), x1)) -> c19(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(nil, x1)) -> c19(A__SEL(nil, mark(x1)), MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(x0, s(z0))) -> c19(A__SEL(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(cons(z0, z1), x1)) -> c19(A__SEL(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(nil, x1)) -> c19(A__SEL(nil, mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2 ---------------------------------------- (109) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(x0, from(z0))) -> c4(A__HEAD(a__from(mark(z0))), MARK(from(z0))) by A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(from(mark(x1))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(from(mark(x1))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(from(mark(x1))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (113) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (115) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(x0, head(z0))) -> c4(A__HEAD(a__head(mark(z0))), MARK(head(z0))) by A__2ND(cons(x0, head(x1))) -> c4(A__HEAD(head(mark(x1))), MARK(head(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0)), MARK(head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil)), MARK(head(nil))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(x1))) -> c4(A__HEAD(head(mark(x1))), MARK(head(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0)), MARK(head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil)), MARK(head(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(x1))) -> c4(A__HEAD(head(mark(x1))), MARK(head(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0)), MARK(head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil)), MARK(head(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (117) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(x0, 2nd(z0))) -> c4(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) by A__2ND(cons(x0, 2nd(x1))) -> c4(A__HEAD(2nd(mark(x1))), MARK(2nd(x1))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0)), MARK(2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil)), MARK(2nd(nil))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(x1))) -> c4(A__HEAD(2nd(mark(x1))), MARK(2nd(x1))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0)), MARK(2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil)), MARK(2nd(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(x1))) -> c4(A__HEAD(2nd(mark(x1))), MARK(2nd(x1))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0)), MARK(2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil)), MARK(2nd(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(x0, take(z0, z1))) -> c4(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) by A__2ND(cons(x0, take(x1, x2))) -> c4(A__HEAD(take(mark(x1), mark(x2))), MARK(take(x1, x2))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, x2))) -> c4(A__HEAD(take(mark(x1), mark(x2))), MARK(take(x1, x2))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, x2))) -> c4(A__HEAD(take(mark(x1), mark(x2))), MARK(take(x1, x2))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__2ND(cons(x0, sel(z0, z1))) -> c4(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) by A__2ND(cons(x0, sel(x1, x2))) -> c4(A__HEAD(sel(mark(x1), mark(x2))), MARK(sel(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(A__HEAD(sel(mark(x1), mark(x2))), MARK(sel(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(A__HEAD(sel(mark(x1), mark(x2))), MARK(sel(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (129) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, from(z0))) -> c10(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) by A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), from(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, from(x2))) -> c10(A__SEL(nil, a__from(mark(x2))), MARK(nil)) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), from(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, from(x2))) -> c10(A__SEL(nil, a__from(mark(x2))), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), from(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, from(x2))) -> c10(A__SEL(nil, a__from(mark(x2))), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, from(x2))) -> c10(A__SEL(nil, a__from(mark(x2))), MARK(nil)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), from(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2))), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), from(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2))), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (135) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, head(z0))) -> c10(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) by A__SEL(s(x0), cons(x1, head(x2))) -> c10(A__SEL(mark(x0), head(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, head(x2))) -> c10(A__SEL(nil, a__head(mark(x2))), MARK(nil)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(A__SEL(mark(x0), head(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, head(x2))) -> c10(A__SEL(nil, a__head(mark(x2))), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(A__SEL(mark(x0), head(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, head(x2))) -> c10(A__SEL(nil, a__head(mark(x2))), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (139) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, head(x2))) -> c10(A__SEL(nil, a__head(mark(x2))), MARK(nil)) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(A__SEL(mark(x0), head(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2))), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(A__SEL(mark(x0), head(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2))), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (141) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, 2nd(z0))) -> c10(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) by A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(A__SEL(mark(x0), 2nd(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c10(A__SEL(nil, a__2nd(mark(x2))), MARK(nil)) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(A__SEL(mark(x0), 2nd(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c10(A__SEL(nil, a__2nd(mark(x2))), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(A__SEL(mark(x0), 2nd(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2))), MARK(0)) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c10(A__SEL(nil, a__2nd(mark(x2))), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (145) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, 2nd(x2))) -> c10(A__SEL(nil, a__2nd(mark(x2))), MARK(nil)) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(A__SEL(mark(x0), 2nd(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2))), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(A__SEL(mark(x0), 2nd(mark(x2))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2))), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (147) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (149) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, take(z0, z1))) -> c10(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) by A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c10(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(nil)) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c10(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c10(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (151) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, take(x2, x3))) -> c10(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(nil)) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (153) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c10(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) by A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c10(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(nil)) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c10(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(0)) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c10(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (157) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c10(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(nil)) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (159) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c10(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) by A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3)), MARK(0)) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c10(A__SEL(nil, cons(mark(x2), x3)), MARK(nil)) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3)), MARK(0)) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c10(A__SEL(nil, cons(mark(x2), x3)), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3)), MARK(0)) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c10(A__SEL(nil, cons(mark(x2), x3)), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (163) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c10(A__SEL(nil, cons(mark(x2), x3)), MARK(nil)) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3)), MARK(0)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3)), MARK(0)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (165) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(from(z0)), cons(x1, x2)) -> c10(A__SEL(a__from(mark(z0)), mark(x2)), MARK(from(z0))) by A__SEL(s(from(x0)), cons(x1, from(z0))) -> c10(A__SEL(a__from(mark(x0)), a__from(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, head(z0))) -> c10(A__SEL(a__from(mark(x0)), a__head(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 2nd(z0))) -> c10(A__SEL(a__from(mark(x0)), a__2nd(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, take(z0, z1))) -> c10(A__SEL(a__from(mark(x0)), a__take(mark(z0), mark(z1))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, sel(z0, z1))) -> c10(A__SEL(a__from(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, cons(z0, z1))) -> c10(A__SEL(a__from(mark(x0)), cons(mark(z0), z1)), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(A__SEL(a__from(mark(x0)), 0), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(A__SEL(a__from(mark(x0)), nil), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(from(mark(x0)), mark(x2)), MARK(from(x0))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(A__SEL(a__from(mark(x0)), 0), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(A__SEL(a__from(mark(x0)), nil), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(from(mark(x0)), mark(x2)), MARK(from(x0))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(A__SEL(a__from(mark(x0)), 0), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(A__SEL(a__from(mark(x0)), nil), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(A__SEL(from(mark(x0)), mark(x2)), MARK(from(x0))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (169) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (171) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(head(z0)), cons(x1, x2)) -> c10(A__SEL(a__head(mark(z0)), mark(x2)), MARK(head(z0))) by A__SEL(s(head(x0)), cons(x1, from(z0))) -> c10(A__SEL(a__head(mark(x0)), a__from(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, head(z0))) -> c10(A__SEL(a__head(mark(x0)), a__head(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 2nd(z0))) -> c10(A__SEL(a__head(mark(x0)), a__2nd(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, take(z0, z1))) -> c10(A__SEL(a__head(mark(x0)), a__take(mark(z0), mark(z1))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, sel(z0, z1))) -> c10(A__SEL(a__head(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, cons(z0, z1))) -> c10(A__SEL(a__head(mark(x0)), cons(mark(z0), z1)), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(A__SEL(a__head(mark(x0)), 0), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(A__SEL(a__head(mark(x0)), nil), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(A__SEL(head(mark(x0)), mark(x2)), MARK(head(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2)), MARK(head(0))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2)), MARK(head(nil))) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(A__SEL(a__head(mark(x0)), 0), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(A__SEL(a__head(mark(x0)), nil), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(A__SEL(head(mark(x0)), mark(x2)), MARK(head(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2)), MARK(head(0))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2)), MARK(head(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(A__SEL(a__head(mark(x0)), 0), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(A__SEL(a__head(mark(x0)), nil), MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(A__SEL(head(mark(x0)), mark(x2)), MARK(head(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2)), MARK(head(0))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2)), MARK(head(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (173) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (175) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(2nd(z0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(2nd(z0))) by A__SEL(s(2nd(x0)), cons(x1, from(z0))) -> c10(A__SEL(a__2nd(mark(x0)), a__from(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, head(z0))) -> c10(A__SEL(a__2nd(mark(x0)), a__head(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 2nd(z0))) -> c10(A__SEL(a__2nd(mark(x0)), a__2nd(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, take(z0, z1))) -> c10(A__SEL(a__2nd(mark(x0)), a__take(mark(z0), mark(z1))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, sel(z0, z1))) -> c10(A__SEL(a__2nd(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, cons(z0, z1))) -> c10(A__SEL(a__2nd(mark(x0)), cons(mark(z0), z1)), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(A__SEL(a__2nd(mark(x0)), 0), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(A__SEL(a__2nd(mark(x0)), nil), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(A__SEL(2nd(mark(x0)), mark(x2)), MARK(2nd(x0))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2)), MARK(2nd(0))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2)), MARK(2nd(nil))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(A__SEL(a__2nd(mark(x0)), 0), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(A__SEL(a__2nd(mark(x0)), nil), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(A__SEL(2nd(mark(x0)), mark(x2)), MARK(2nd(x0))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2)), MARK(2nd(0))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2)), MARK(2nd(nil))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(A__SEL(a__2nd(mark(x0)), 0), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(A__SEL(a__2nd(mark(x0)), nil), MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(A__SEL(2nd(mark(x0)), mark(x2)), MARK(2nd(x0))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2)), MARK(2nd(0))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2)), MARK(2nd(nil))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (177) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (179) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(take(z0, z1))) by A__SEL(s(take(x0, x1)), cons(x2, from(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), a__from(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, head(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), a__head(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 2nd(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), a__2nd(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, take(z0, z1))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), a__take(mark(z0), mark(z1))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, sel(z0, z1))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), a__sel(mark(z0), mark(z1))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, cons(z0, z1))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), cons(mark(z0), z1)), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(take(x0, x1))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(take(x0, x1))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(take(x0, x1))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (181) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (183) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(sel(z0, z1))) by A__SEL(s(sel(x0, x1)), cons(x2, from(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), a__from(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, head(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), a__head(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 2nd(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), a__2nd(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, take(z0, z1))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), a__take(mark(z0), mark(z1))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, sel(z0, z1))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), a__sel(mark(z0), mark(z1))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, cons(z0, z1))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), cons(mark(z0), z1)), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(sel(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(sel(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(sel(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (185) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (186) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_2, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1 ---------------------------------------- (187) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(s(z0)), cons(x1, x2)) -> c10(A__SEL(s(mark(z0)), mark(x2)), MARK(s(z0))) by A__SEL(s(s(x0)), cons(x1, from(z0))) -> c10(A__SEL(s(mark(x0)), a__from(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, head(z0))) -> c10(A__SEL(s(mark(x0)), a__head(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 2nd(z0))) -> c10(A__SEL(s(mark(x0)), a__2nd(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, take(z0, z1))) -> c10(A__SEL(s(mark(x0)), a__take(mark(z0), mark(z1))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, sel(z0, z1))) -> c10(A__SEL(s(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, cons(z0, z1))) -> c10(A__SEL(s(mark(x0)), cons(mark(z0), z1)), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(A__SEL(s(mark(x0)), 0), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(A__SEL(s(mark(x0)), nil), MARK(s(x0))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) ---------------------------------------- (188) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(A__SEL(s(mark(x0)), 0), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(A__SEL(s(mark(x0)), nil), MARK(s(x0))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(A__SEL(s(mark(x0)), 0), MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(A__SEL(s(mark(x0)), nil), MARK(s(x0))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (189) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (190) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (191) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(0), cons(x1, x2)) -> c10(A__SEL(0, mark(x2))) by A__SEL(s(0), cons(x0, from(z0))) -> c10(A__SEL(0, a__from(mark(z0)))) A__SEL(s(0), cons(x0, head(z0))) -> c10(A__SEL(0, a__head(mark(z0)))) A__SEL(s(0), cons(x0, 2nd(z0))) -> c10(A__SEL(0, a__2nd(mark(z0)))) A__SEL(s(0), cons(x0, take(z0, z1))) -> c10(A__SEL(0, a__take(mark(z0), mark(z1)))) A__SEL(s(0), cons(x0, sel(z0, z1))) -> c10(A__SEL(0, a__sel(mark(z0), mark(z1)))) A__SEL(s(0), cons(x0, cons(z0, z1))) -> c10(A__SEL(0, cons(mark(z0), z1))) A__SEL(s(0), cons(x0, s(z0))) -> c10(A__SEL(0, s(mark(z0)))) A__SEL(s(0), cons(x0, 0)) -> c10(A__SEL(0, 0)) A__SEL(s(0), cons(x0, nil)) -> c10(A__SEL(0, nil)) ---------------------------------------- (192) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(0), cons(x0, s(z0))) -> c10(A__SEL(0, s(mark(z0)))) A__SEL(s(0), cons(x0, 0)) -> c10(A__SEL(0, 0)) A__SEL(s(0), cons(x0, nil)) -> c10(A__SEL(0, nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(0), cons(x0, s(z0))) -> c10(A__SEL(0, s(mark(z0)))) A__SEL(s(0), cons(x0, 0)) -> c10(A__SEL(0, 0)) A__SEL(s(0), cons(x0, nil)) -> c10(A__SEL(0, nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (193) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: A__SEL(s(0), cons(x0, s(z0))) -> c10(A__SEL(0, s(mark(z0)))) A__SEL(s(0), cons(x0, nil)) -> c10(A__SEL(0, nil)) A__SEL(s(0), cons(x0, 0)) -> c10(A__SEL(0, 0)) ---------------------------------------- (194) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (195) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, from(z0))) -> c11(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) by A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(A__SEL(nil, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) ---------------------------------------- (196) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(A__SEL(nil, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(A__SEL(nil, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (197) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (198) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (199) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, head(z0))) -> c11(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) by A__SEL(s(x0), cons(x1, head(x2))) -> c11(A__SEL(mark(x0), head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0)), MARK(head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil)), MARK(head(nil))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(A__SEL(nil, a__head(mark(x2))), MARK(head(x2))) ---------------------------------------- (200) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(A__SEL(mark(x0), head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0)), MARK(head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil)), MARK(head(nil))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(A__SEL(nil, a__head(mark(x2))), MARK(head(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(A__SEL(mark(x0), head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0)), MARK(head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil)), MARK(head(nil))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(A__SEL(nil, a__head(mark(x2))), MARK(head(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (201) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (202) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (203) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, 2nd(z0))) -> c11(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) by A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(A__SEL(mark(x0), 2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0)), MARK(2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil)), MARK(2nd(nil))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(A__SEL(nil, a__2nd(mark(x2))), MARK(2nd(x2))) ---------------------------------------- (204) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(A__SEL(mark(x0), 2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0)), MARK(2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil)), MARK(2nd(nil))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(A__SEL(nil, a__2nd(mark(x2))), MARK(2nd(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(A__SEL(mark(x0), 2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0)), MARK(2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil)), MARK(2nd(nil))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(cons(mark(z0), z1), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(A__SEL(nil, a__2nd(mark(x2))), MARK(2nd(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (205) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (206) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (207) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, take(z0, z1))) -> c11(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) by A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) ---------------------------------------- (208) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(A__SEL(mark(x0), take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(A__SEL(nil, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (209) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (210) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (211) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, sel(z0, z1))) -> c11(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) by A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) ---------------------------------------- (212) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(A__SEL(mark(x0), sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(A__SEL(nil, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (213) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (214) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (215) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(x0), cons(x1, cons(z0, z1))) -> c11(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) by A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(A__SEL(nil, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) ---------------------------------------- (216) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(A__SEL(nil, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(cons(mark(z0), z1), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(A__SEL(nil, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (217) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (218) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (219) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(from(z0)), cons(x1, x2)) -> c11(A__SEL(a__from(mark(z0)), mark(x2)), MARK(x2)) by A__SEL(s(from(x0)), cons(x1, from(z0))) -> c11(A__SEL(a__from(mark(x0)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(from(x0)), cons(x1, head(z0))) -> c11(A__SEL(a__from(mark(x0)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(from(x0)), cons(x1, 2nd(z0))) -> c11(A__SEL(a__from(mark(x0)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(from(x0)), cons(x1, take(z0, z1))) -> c11(A__SEL(a__from(mark(x0)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(from(x0)), cons(x1, sel(z0, z1))) -> c11(A__SEL(a__from(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(from(x0)), cons(x1, cons(z0, z1))) -> c11(A__SEL(a__from(mark(x0)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c11(A__SEL(a__from(mark(x0)), 0), MARK(0)) A__SEL(s(from(x0)), cons(x1, nil)) -> c11(A__SEL(a__from(mark(x0)), nil), MARK(nil)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(from(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) ---------------------------------------- (220) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c11(A__SEL(a__from(mark(x0)), 0), MARK(0)) A__SEL(s(from(x0)), cons(x1, nil)) -> c11(A__SEL(a__from(mark(x0)), nil), MARK(nil)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(from(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c11(A__SEL(a__from(mark(x0)), 0), MARK(0)) A__SEL(s(from(x0)), cons(x1, nil)) -> c11(A__SEL(a__from(mark(x0)), nil), MARK(nil)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(from(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (221) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(from(x0)), cons(x1, 0)) -> c11(A__SEL(a__from(mark(x0)), 0), MARK(0)) A__SEL(s(from(x0)), cons(x1, nil)) -> c11(A__SEL(a__from(mark(x0)), nil), MARK(nil)) ---------------------------------------- (222) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(from(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__from(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(cons(mark(mark(x0)), from(s(mark(x0)))), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(A__SEL(from(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (223) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (224) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (225) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(head(z0)), cons(x1, x2)) -> c11(A__SEL(a__head(mark(z0)), mark(x2)), MARK(x2)) by A__SEL(s(head(x0)), cons(x1, from(z0))) -> c11(A__SEL(a__head(mark(x0)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(head(x0)), cons(x1, head(z0))) -> c11(A__SEL(a__head(mark(x0)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(head(x0)), cons(x1, 2nd(z0))) -> c11(A__SEL(a__head(mark(x0)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(head(x0)), cons(x1, take(z0, z1))) -> c11(A__SEL(a__head(mark(x0)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(head(x0)), cons(x1, sel(z0, z1))) -> c11(A__SEL(a__head(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(head(x0)), cons(x1, cons(z0, z1))) -> c11(A__SEL(a__head(mark(x0)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c11(A__SEL(a__head(mark(x0)), 0), MARK(0)) A__SEL(s(head(x0)), cons(x1, nil)) -> c11(A__SEL(a__head(mark(x0)), nil), MARK(nil)) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(A__SEL(head(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) ---------------------------------------- (226) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c11(A__SEL(a__head(mark(x0)), 0), MARK(0)) A__SEL(s(head(x0)), cons(x1, nil)) -> c11(A__SEL(a__head(mark(x0)), nil), MARK(nil)) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(A__SEL(head(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c11(A__SEL(a__head(mark(x0)), 0), MARK(0)) A__SEL(s(head(x0)), cons(x1, nil)) -> c11(A__SEL(a__head(mark(x0)), nil), MARK(nil)) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(A__SEL(head(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (227) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(head(x0)), cons(x1, nil)) -> c11(A__SEL(a__head(mark(x0)), nil), MARK(nil)) A__SEL(s(head(x0)), cons(x1, 0)) -> c11(A__SEL(a__head(mark(x0)), 0), MARK(0)) ---------------------------------------- (228) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(A__SEL(head(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__head(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(A__SEL(head(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (229) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (230) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (231) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(2nd(z0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(mark(z0)), mark(x2)), MARK(x2)) by A__SEL(s(2nd(x0)), cons(x1, from(z0))) -> c11(A__SEL(a__2nd(mark(x0)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(2nd(x0)), cons(x1, head(z0))) -> c11(A__SEL(a__2nd(mark(x0)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(2nd(x0)), cons(x1, 2nd(z0))) -> c11(A__SEL(a__2nd(mark(x0)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(2nd(x0)), cons(x1, take(z0, z1))) -> c11(A__SEL(a__2nd(mark(x0)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(2nd(x0)), cons(x1, sel(z0, z1))) -> c11(A__SEL(a__2nd(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(2nd(x0)), cons(x1, cons(z0, z1))) -> c11(A__SEL(a__2nd(mark(x0)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c11(A__SEL(a__2nd(mark(x0)), 0), MARK(0)) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c11(A__SEL(a__2nd(mark(x0)), nil), MARK(nil)) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(A__SEL(2nd(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) ---------------------------------------- (232) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c11(A__SEL(a__2nd(mark(x0)), 0), MARK(0)) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c11(A__SEL(a__2nd(mark(x0)), nil), MARK(nil)) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(A__SEL(2nd(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c11(A__SEL(a__2nd(mark(x0)), 0), MARK(0)) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c11(A__SEL(a__2nd(mark(x0)), nil), MARK(nil)) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(A__SEL(2nd(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (233) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(2nd(x0)), cons(x1, nil)) -> c11(A__SEL(a__2nd(mark(x0)), nil), MARK(nil)) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c11(A__SEL(a__2nd(mark(x0)), 0), MARK(0)) ---------------------------------------- (234) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(A__SEL(2nd(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(A__SEL(a__2nd(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(A__SEL(2nd(mark(x0)), mark(x2)), MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (235) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (236) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (237) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(take(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__take(mark(z0), mark(z1)), mark(x2)), MARK(x2)) by A__SEL(s(take(x0, x1)), cons(x2, from(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(take(x0, x1)), cons(x2, head(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(take(x0, x1)), cons(x2, 2nd(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(take(x0, x1)), cons(x2, take(z0, z1))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(take(x0, x1)), cons(x2, sel(z0, z1))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(take(x0, x1)), cons(x2, cons(z0, z1))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) ---------------------------------------- (238) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (239) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__take(mark(x0), mark(x1)), nil), MARK(nil)) ---------------------------------------- (240) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__take(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(A__SEL(take(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (241) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (242) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (243) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(sel(z0, z1)), cons(x1, x2)) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), mark(x2)), MARK(x2)) by A__SEL(s(sel(x0, x1)), cons(x2, from(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(sel(x0, x1)), cons(x2, head(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(sel(x0, x1)), cons(x2, 2nd(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(sel(x0, x1)), cons(x2, take(z0, z1))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(sel(x0, x1)), cons(x2, sel(z0, z1))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(sel(x0, x1)), cons(x2, cons(z0, z1))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) ---------------------------------------- (244) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(nil)) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (245) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), 0), MARK(0)) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), nil), MARK(nil)) ---------------------------------------- (246) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(A__SEL(a__sel(mark(x0), mark(x1)), s(mark(z0))), MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(A__SEL(sel(mark(x0), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (247) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (248) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (249) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(s(z0)), cons(x1, x2)) -> c11(A__SEL(s(mark(z0)), mark(x2)), MARK(x2)) by A__SEL(s(s(x0)), cons(x1, from(z0))) -> c11(A__SEL(s(mark(x0)), a__from(mark(z0))), MARK(from(z0))) A__SEL(s(s(x0)), cons(x1, head(z0))) -> c11(A__SEL(s(mark(x0)), a__head(mark(z0))), MARK(head(z0))) A__SEL(s(s(x0)), cons(x1, 2nd(z0))) -> c11(A__SEL(s(mark(x0)), a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(s(x0)), cons(x1, take(z0, z1))) -> c11(A__SEL(s(mark(x0)), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(s(x0)), cons(x1, sel(z0, z1))) -> c11(A__SEL(s(mark(x0)), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(s(x0)), cons(x1, cons(z0, z1))) -> c11(A__SEL(s(mark(x0)), cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c11(A__SEL(s(mark(x0)), 0), MARK(0)) A__SEL(s(s(x0)), cons(x1, nil)) -> c11(A__SEL(s(mark(x0)), nil), MARK(nil)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) ---------------------------------------- (250) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c11(A__SEL(s(mark(x0)), 0), MARK(0)) A__SEL(s(s(x0)), cons(x1, nil)) -> c11(A__SEL(s(mark(x0)), nil), MARK(nil)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c11(A__SEL(s(mark(x0)), 0), MARK(0)) A__SEL(s(s(x0)), cons(x1, nil)) -> c11(A__SEL(s(mark(x0)), nil), MARK(nil)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (251) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(s(x0)), cons(x1, 0)) -> c11(A__SEL(s(mark(x0)), 0), MARK(0)) A__SEL(s(s(x0)), cons(x1, nil)) -> c11(A__SEL(s(mark(x0)), nil), MARK(nil)) ---------------------------------------- (252) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(A__SEL(s(mark(x0)), s(mark(z0))), MARK(s(z0))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (253) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (254) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_2, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2 ---------------------------------------- (255) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(s(0), cons(x1, x2)) -> c11(A__SEL(0, mark(x2)), MARK(x2)) by A__SEL(s(0), cons(x0, from(z0))) -> c11(A__SEL(0, a__from(mark(z0))), MARK(from(z0))) A__SEL(s(0), cons(x0, head(z0))) -> c11(A__SEL(0, a__head(mark(z0))), MARK(head(z0))) A__SEL(s(0), cons(x0, 2nd(z0))) -> c11(A__SEL(0, a__2nd(mark(z0))), MARK(2nd(z0))) A__SEL(s(0), cons(x0, take(z0, z1))) -> c11(A__SEL(0, a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) A__SEL(s(0), cons(x0, sel(z0, z1))) -> c11(A__SEL(0, a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) A__SEL(s(0), cons(x0, cons(z0, z1))) -> c11(A__SEL(0, cons(mark(z0), z1)), MARK(cons(z0, z1))) A__SEL(s(0), cons(x0, s(z0))) -> c11(A__SEL(0, s(mark(z0))), MARK(s(z0))) A__SEL(s(0), cons(x0, 0)) -> c11(A__SEL(0, 0), MARK(0)) A__SEL(s(0), cons(x0, nil)) -> c11(A__SEL(0, nil), MARK(nil)) ---------------------------------------- (256) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(A__SEL(0, s(mark(z0))), MARK(s(z0))) A__SEL(s(0), cons(x0, 0)) -> c11(A__SEL(0, 0), MARK(0)) A__SEL(s(0), cons(x0, nil)) -> c11(A__SEL(0, nil), MARK(nil)) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(A__SEL(0, s(mark(z0))), MARK(s(z0))) A__SEL(s(0), cons(x0, 0)) -> c11(A__SEL(0, 0), MARK(0)) A__SEL(s(0), cons(x0, nil)) -> c11(A__SEL(0, nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2, c11_2 ---------------------------------------- (257) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: A__SEL(s(0), cons(x0, 0)) -> c11(A__SEL(0, 0), MARK(0)) A__SEL(s(0), cons(x0, nil)) -> c11(A__SEL(0, nil), MARK(nil)) ---------------------------------------- (258) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(A__SEL(0, s(mark(z0))), MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(A__SEL(0, s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2, c11_2 ---------------------------------------- (259) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (260) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2, c11_2 ---------------------------------------- (261) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(from(z0))) -> c14(A__HEAD(a__from(mark(z0))), MARK(from(z0))) by MARK(head(from(x0))) -> c14(A__HEAD(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(head(from(x0))) -> c14(A__HEAD(from(mark(x0))), MARK(from(x0))) MARK(head(from(from(z0)))) -> c14(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(head(from(head(z0)))) -> c14(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) MARK(head(from(2nd(z0)))) -> c14(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) MARK(head(from(take(z0, z1)))) -> c14(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) MARK(head(from(sel(z0, z1)))) -> c14(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) MARK(head(from(cons(z0, z1)))) -> c14(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(head(from(s(z0)))) -> c14(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(head(from(0))) -> c14(A__HEAD(a__from(0)), MARK(from(0))) MARK(head(from(nil))) -> c14(A__HEAD(a__from(nil)), MARK(from(nil))) MARK(head(from(x0))) -> c14(MARK(from(x0))) ---------------------------------------- (262) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) MARK(head(from(x0))) -> c14(A__HEAD(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(head(from(x0))) -> c14(A__HEAD(from(mark(x0))), MARK(from(x0))) MARK(head(from(from(z0)))) -> c14(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(head(from(head(z0)))) -> c14(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) MARK(head(from(2nd(z0)))) -> c14(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) MARK(head(from(take(z0, z1)))) -> c14(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) MARK(head(from(sel(z0, z1)))) -> c14(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) MARK(head(from(cons(z0, z1)))) -> c14(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(head(from(s(z0)))) -> c14(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(head(from(0))) -> c14(A__HEAD(a__from(0)), MARK(from(0))) MARK(head(from(nil))) -> c14(A__HEAD(a__from(nil)), MARK(from(nil))) MARK(head(from(x0))) -> c14(MARK(from(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) MARK(head(from(x0))) -> c14(A__HEAD(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(head(from(x0))) -> c14(A__HEAD(from(mark(x0))), MARK(from(x0))) MARK(head(from(from(z0)))) -> c14(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(head(from(head(z0)))) -> c14(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) MARK(head(from(2nd(z0)))) -> c14(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) MARK(head(from(take(z0, z1)))) -> c14(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) MARK(head(from(sel(z0, z1)))) -> c14(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) MARK(head(from(cons(z0, z1)))) -> c14(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(head(from(s(z0)))) -> c14(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(head(from(0))) -> c14(A__HEAD(a__from(0)), MARK(from(0))) MARK(head(from(nil))) -> c14(A__HEAD(a__from(nil)), MARK(from(nil))) MARK(head(from(x0))) -> c14(MARK(from(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2, c11_2 ---------------------------------------- (263) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (264) Obligation: Complexity Dependency Tuples Problem Rules: a__from(z0) -> cons(mark(z0), from(s(z0))) a__from(z0) -> from(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__2nd(cons(z0, z1)) -> a__head(mark(z1)) a__2nd(z0) -> 2nd(z0) a__take(0, z0) -> nil a__take(s(z0), cons(z1, z2)) -> cons(mark(z1), take(z0, z2)) a__take(z0, z1) -> take(z0, z1) a__sel(0, cons(z0, z1)) -> mark(z0) a__sel(s(z0), cons(z1, z2)) -> a__sel(mark(z0), mark(z2)) a__sel(z0, z1) -> sel(z0, z1) mark(from(z0)) -> a__from(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(2nd(z0)) -> a__2nd(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(0) -> 0 mark(nil) -> nil Tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) MARK(head(from(x0))) -> c14(A__HEAD(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(head(from(from(z0)))) -> c14(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(head(from(head(z0)))) -> c14(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) MARK(head(from(2nd(z0)))) -> c14(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) MARK(head(from(take(z0, z1)))) -> c14(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) MARK(head(from(sel(z0, z1)))) -> c14(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) MARK(head(from(cons(z0, z1)))) -> c14(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(head(from(s(z0)))) -> c14(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(head(from(0))) -> c14(A__HEAD(a__from(0)), MARK(from(0))) MARK(head(from(nil))) -> c14(A__HEAD(a__from(nil)), MARK(from(nil))) MARK(head(from(x0))) -> c14(MARK(from(x0))) S tuples: A__FROM(z0) -> c(MARK(z0)) A__HEAD(cons(z0, z1)) -> c2(MARK(z0)) A__TAKE(s(z0), cons(z1, z2)) -> c7(MARK(z1)) A__SEL(0, cons(z0, z1)) -> c9(MARK(z0)) MARK(from(z0)) -> c13(A__FROM(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c20(MARK(z0)) MARK(s(z0)) -> c21(MARK(z0)) A__2ND(cons(x0, cons(z0, z1))) -> c4(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__2ND(cons(x0, s(z0))) -> c4(MARK(s(z0))) A__SEL(s(x0), cons(x1, s(z0))) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, 0)) -> c10(MARK(x0)) A__SEL(s(x0), cons(x1, nil)) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c10(MARK(cons(z0, z1))) A__SEL(s(x0), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(nil), cons(x1, x2)) -> c11(MARK(x2)) MARK(head(head(z0))) -> c14(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(2nd(z0))) -> c14(A__HEAD(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(head(take(z0, z1))) -> c14(A__HEAD(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(head(sel(z0, z1))) -> c14(A__HEAD(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(head(cons(z0, z1))) -> c14(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c14(MARK(s(z0))) MARK(2nd(from(z0))) -> c15(A__2ND(a__from(mark(z0))), MARK(from(z0))) MARK(2nd(head(z0))) -> c15(A__2ND(a__head(mark(z0))), MARK(head(z0))) MARK(2nd(2nd(z0))) -> c15(A__2ND(a__2nd(mark(z0))), MARK(2nd(z0))) MARK(2nd(take(z0, z1))) -> c15(A__2ND(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(2nd(sel(z0, z1))) -> c15(A__2ND(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(2nd(cons(z0, z1))) -> c15(A__2ND(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(2nd(s(z0))) -> c15(MARK(s(z0))) MARK(take(x0, from(z0))) -> c16(A__TAKE(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(take(x0, head(z0))) -> c16(A__TAKE(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(take(x0, 2nd(z0))) -> c16(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(take(x0, take(z0, z1))) -> c16(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, sel(z0, z1))) -> c16(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(take(x0, cons(z0, z1))) -> c16(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(take(from(z0), x1)) -> c16(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(take(head(z0), x1)) -> c16(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(take(2nd(z0), x1)) -> c16(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(take(take(z0, z1), x1)) -> c16(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(take(sel(z0, z1), x1)) -> c16(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(take(s(z0), x1)) -> c16(A__TAKE(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(take(x0, s(z0))) -> c16(MARK(x0)) MARK(take(x0, 0)) -> c16(MARK(x0)) MARK(take(x0, nil)) -> c16(MARK(x0)) MARK(take(cons(z0, z1), x1)) -> c16(MARK(cons(z0, z1))) MARK(take(x0, from(z0))) -> c17(A__TAKE(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(take(x0, head(z0))) -> c17(A__TAKE(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(take(x0, 2nd(z0))) -> c17(A__TAKE(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(take(x0, take(z0, z1))) -> c17(A__TAKE(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(take(x0, sel(z0, z1))) -> c17(A__TAKE(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(take(x0, cons(z0, z1))) -> c17(A__TAKE(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(take(from(z0), x1)) -> c17(A__TAKE(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(take(head(z0), x1)) -> c17(A__TAKE(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(take(2nd(z0), x1)) -> c17(A__TAKE(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c17(A__TAKE(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(sel(z0, z1), x1)) -> c17(A__TAKE(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(take(s(z0), x1)) -> c17(A__TAKE(s(mark(z0)), mark(x1)), MARK(x1)) MARK(take(x0, s(z0))) -> c17(MARK(s(z0))) MARK(take(cons(z0, z1), x1)) -> c17(MARK(x1)) MARK(take(0, x1)) -> c17(MARK(x1)) MARK(take(nil, x1)) -> c17(MARK(x1)) MARK(sel(x0, from(z0))) -> c18(A__SEL(mark(x0), a__from(mark(z0))), MARK(x0)) MARK(sel(x0, head(z0))) -> c18(A__SEL(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(sel(x0, 2nd(z0))) -> c18(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(x0)) MARK(sel(x0, take(z0, z1))) -> c18(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, sel(z0, z1))) -> c18(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(sel(x0, cons(z0, z1))) -> c18(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(sel(from(z0), x1)) -> c18(A__SEL(a__from(mark(z0)), mark(x1)), MARK(from(z0))) MARK(sel(head(z0), x1)) -> c18(A__SEL(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(sel(2nd(z0), x1)) -> c18(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(2nd(z0))) MARK(sel(take(z0, z1), x1)) -> c18(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(sel(sel(z0, z1), x1)) -> c18(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(sel(s(z0), x1)) -> c18(A__SEL(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(sel(x0, s(z0))) -> c18(MARK(x0)) MARK(sel(x0, 0)) -> c18(MARK(x0)) MARK(sel(x0, nil)) -> c18(MARK(x0)) MARK(sel(cons(z0, z1), x1)) -> c18(MARK(cons(z0, z1))) MARK(sel(0, x1)) -> c18(A__SEL(0, mark(x1))) MARK(sel(x0, from(z0))) -> c19(A__SEL(mark(x0), a__from(mark(z0))), MARK(from(z0))) MARK(sel(x0, head(z0))) -> c19(A__SEL(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(sel(x0, 2nd(z0))) -> c19(A__SEL(mark(x0), a__2nd(mark(z0))), MARK(2nd(z0))) MARK(sel(x0, take(z0, z1))) -> c19(A__SEL(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(sel(x0, sel(z0, z1))) -> c19(A__SEL(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(sel(x0, cons(z0, z1))) -> c19(A__SEL(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(sel(from(z0), x1)) -> c19(A__SEL(a__from(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(head(z0), x1)) -> c19(A__SEL(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(2nd(z0), x1)) -> c19(A__SEL(a__2nd(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(take(z0, z1), x1)) -> c19(A__SEL(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(sel(z0, z1), x1)) -> c19(A__SEL(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(sel(s(z0), x1)) -> c19(A__SEL(s(mark(z0)), mark(x1)), MARK(x1)) MARK(sel(0, x1)) -> c19(A__SEL(0, mark(x1)), MARK(x1)) MARK(sel(x0, s(z0))) -> c19(MARK(s(z0))) MARK(sel(cons(z0, z1), x1)) -> c19(MARK(x1)) MARK(sel(nil, x1)) -> c19(MARK(x1)) A__2ND(cons(x0, from(x1))) -> c4(A__HEAD(cons(mark(mark(x1)), from(s(mark(x1))))), MARK(from(x1))) A__2ND(cons(x0, from(from(z0)))) -> c4(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__2ND(cons(x0, from(head(z0)))) -> c4(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__2ND(cons(x0, from(2nd(z0)))) -> c4(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__2ND(cons(x0, from(take(z0, z1)))) -> c4(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__2ND(cons(x0, from(sel(z0, z1)))) -> c4(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__2ND(cons(x0, from(cons(z0, z1)))) -> c4(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__2ND(cons(x0, from(s(z0)))) -> c4(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) A__2ND(cons(x0, from(0))) -> c4(A__HEAD(a__from(0)), MARK(from(0))) A__2ND(cons(x0, from(nil))) -> c4(A__HEAD(a__from(nil)), MARK(from(nil))) A__2ND(cons(x0, from(x1))) -> c4(MARK(from(x1))) A__2ND(cons(x0, head(from(z0)))) -> c4(A__HEAD(a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__2ND(cons(x0, head(head(z0)))) -> c4(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__2ND(cons(x0, head(2nd(z0)))) -> c4(A__HEAD(a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__2ND(cons(x0, head(take(z0, z1)))) -> c4(A__HEAD(a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__2ND(cons(x0, head(sel(z0, z1)))) -> c4(A__HEAD(a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__2ND(cons(x0, head(cons(z0, z1)))) -> c4(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__2ND(cons(x0, head(s(z0)))) -> c4(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) A__2ND(cons(x0, head(x1))) -> c4(MARK(head(x1))) A__2ND(cons(x0, head(0))) -> c4(A__HEAD(a__head(0))) A__2ND(cons(x0, head(nil))) -> c4(A__HEAD(a__head(nil))) A__2ND(cons(x0, 2nd(from(z0)))) -> c4(A__HEAD(a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__2ND(cons(x0, 2nd(head(z0)))) -> c4(A__HEAD(a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__2ND(cons(x0, 2nd(2nd(z0)))) -> c4(A__HEAD(a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__2ND(cons(x0, 2nd(take(z0, z1)))) -> c4(A__HEAD(a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__2ND(cons(x0, 2nd(sel(z0, z1)))) -> c4(A__HEAD(a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__2ND(cons(x0, 2nd(cons(z0, z1)))) -> c4(A__HEAD(a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__2ND(cons(x0, 2nd(s(z0)))) -> c4(A__HEAD(a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__2ND(cons(x0, 2nd(x1))) -> c4(MARK(2nd(x1))) A__2ND(cons(x0, 2nd(0))) -> c4(A__HEAD(a__2nd(0))) A__2ND(cons(x0, 2nd(nil))) -> c4(A__HEAD(a__2nd(nil))) A__2ND(cons(x0, take(x1, from(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__from(mark(z0)))), MARK(take(x1, from(z0)))) A__2ND(cons(x0, take(x1, head(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__head(mark(z0)))), MARK(take(x1, head(z0)))) A__2ND(cons(x0, take(x1, 2nd(z0)))) -> c4(A__HEAD(a__take(mark(x1), a__2nd(mark(z0)))), MARK(take(x1, 2nd(z0)))) A__2ND(cons(x0, take(x1, take(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__take(mark(z0), mark(z1)))), MARK(take(x1, take(z0, z1)))) A__2ND(cons(x0, take(x1, sel(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(take(x1, sel(z0, z1)))) A__2ND(cons(x0, take(x1, cons(z0, z1)))) -> c4(A__HEAD(a__take(mark(x1), cons(mark(z0), z1))), MARK(take(x1, cons(z0, z1)))) A__2ND(cons(x0, take(x1, s(z0)))) -> c4(A__HEAD(a__take(mark(x1), s(mark(z0)))), MARK(take(x1, s(z0)))) A__2ND(cons(x0, take(x1, 0))) -> c4(A__HEAD(a__take(mark(x1), 0)), MARK(take(x1, 0))) A__2ND(cons(x0, take(x1, nil))) -> c4(A__HEAD(a__take(mark(x1), nil)), MARK(take(x1, nil))) A__2ND(cons(x0, take(from(z0), x2))) -> c4(A__HEAD(a__take(a__from(mark(z0)), mark(x2))), MARK(take(from(z0), x2))) A__2ND(cons(x0, take(head(z0), x2))) -> c4(A__HEAD(a__take(a__head(mark(z0)), mark(x2))), MARK(take(head(z0), x2))) A__2ND(cons(x0, take(2nd(z0), x2))) -> c4(A__HEAD(a__take(a__2nd(mark(z0)), mark(x2))), MARK(take(2nd(z0), x2))) A__2ND(cons(x0, take(take(z0, z1), x2))) -> c4(A__HEAD(a__take(a__take(mark(z0), mark(z1)), mark(x2))), MARK(take(take(z0, z1), x2))) A__2ND(cons(x0, take(sel(z0, z1), x2))) -> c4(A__HEAD(a__take(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(take(sel(z0, z1), x2))) A__2ND(cons(x0, take(cons(z0, z1), x2))) -> c4(A__HEAD(a__take(cons(mark(z0), z1), mark(x2))), MARK(take(cons(z0, z1), x2))) A__2ND(cons(x0, take(s(z0), x2))) -> c4(A__HEAD(a__take(s(mark(z0)), mark(x2))), MARK(take(s(z0), x2))) A__2ND(cons(x0, take(0, x2))) -> c4(A__HEAD(a__take(0, mark(x2))), MARK(take(0, x2))) A__2ND(cons(x0, take(nil, x2))) -> c4(A__HEAD(a__take(nil, mark(x2))), MARK(take(nil, x2))) A__2ND(cons(x0, take(x1, x2))) -> c4(MARK(take(x1, x2))) A__2ND(cons(x0, sel(x1, from(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__from(mark(z0)))), MARK(sel(x1, from(z0)))) A__2ND(cons(x0, sel(x1, head(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__head(mark(z0)))), MARK(sel(x1, head(z0)))) A__2ND(cons(x0, sel(x1, 2nd(z0)))) -> c4(A__HEAD(a__sel(mark(x1), a__2nd(mark(z0)))), MARK(sel(x1, 2nd(z0)))) A__2ND(cons(x0, sel(x1, take(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__take(mark(z0), mark(z1)))), MARK(sel(x1, take(z0, z1)))) A__2ND(cons(x0, sel(x1, sel(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), a__sel(mark(z0), mark(z1)))), MARK(sel(x1, sel(z0, z1)))) A__2ND(cons(x0, sel(x1, cons(z0, z1)))) -> c4(A__HEAD(a__sel(mark(x1), cons(mark(z0), z1))), MARK(sel(x1, cons(z0, z1)))) A__2ND(cons(x0, sel(x1, s(z0)))) -> c4(A__HEAD(a__sel(mark(x1), s(mark(z0)))), MARK(sel(x1, s(z0)))) A__2ND(cons(x0, sel(x1, 0))) -> c4(A__HEAD(a__sel(mark(x1), 0)), MARK(sel(x1, 0))) A__2ND(cons(x0, sel(x1, nil))) -> c4(A__HEAD(a__sel(mark(x1), nil)), MARK(sel(x1, nil))) A__2ND(cons(x0, sel(from(z0), x2))) -> c4(A__HEAD(a__sel(a__from(mark(z0)), mark(x2))), MARK(sel(from(z0), x2))) A__2ND(cons(x0, sel(head(z0), x2))) -> c4(A__HEAD(a__sel(a__head(mark(z0)), mark(x2))), MARK(sel(head(z0), x2))) A__2ND(cons(x0, sel(2nd(z0), x2))) -> c4(A__HEAD(a__sel(a__2nd(mark(z0)), mark(x2))), MARK(sel(2nd(z0), x2))) A__2ND(cons(x0, sel(take(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__take(mark(z0), mark(z1)), mark(x2))), MARK(sel(take(z0, z1), x2))) A__2ND(cons(x0, sel(sel(z0, z1), x2))) -> c4(A__HEAD(a__sel(a__sel(mark(z0), mark(z1)), mark(x2))), MARK(sel(sel(z0, z1), x2))) A__2ND(cons(x0, sel(cons(z0, z1), x2))) -> c4(A__HEAD(a__sel(cons(mark(z0), z1), mark(x2))), MARK(sel(cons(z0, z1), x2))) A__2ND(cons(x0, sel(s(z0), x2))) -> c4(A__HEAD(a__sel(s(mark(z0)), mark(x2))), MARK(sel(s(z0), x2))) A__2ND(cons(x0, sel(0, x2))) -> c4(A__HEAD(a__sel(0, mark(x2))), MARK(sel(0, x2))) A__2ND(cons(x0, sel(nil, x2))) -> c4(A__HEAD(a__sel(nil, mark(x2))), MARK(sel(nil, x2))) A__2ND(cons(x0, sel(x1, x2))) -> c4(MARK(sel(x1, x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(x0)) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c10(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c10(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c10(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c10(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, from(0))) -> c10(A__SEL(mark(x0), a__from(0)), MARK(x0)) A__SEL(s(x0), cons(x1, from(nil))) -> c10(A__SEL(mark(x0), a__from(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c10(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, from(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, from(x2))) -> c10(A__SEL(0, a__from(mark(x2)))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c10(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c10(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c10(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c10(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, head(0))) -> c10(A__SEL(mark(x0), a__head(0)), MARK(x0)) A__SEL(s(x0), cons(x1, head(nil))) -> c10(A__SEL(mark(x0), a__head(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c10(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, head(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, head(x2))) -> c10(A__SEL(0, a__head(mark(x2)))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c10(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c10(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(0))) -> c10(A__SEL(mark(x0), a__2nd(0)), MARK(x0)) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c10(A__SEL(mark(x0), a__2nd(nil)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c10(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(s(z0))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c10(A__SEL(0, a__2nd(mark(x2)))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c10(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c10(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c10(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(0, x3))) -> c10(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c10(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c10(A__SEL(0, a__take(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c10(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(x0)) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c10(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c10(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(x0)) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c10(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(x0)) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c10(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(s(z0))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c10(MARK(x0)) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c10(A__SEL(0, a__sel(mark(x2), mark(x3)))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c10(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c10(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c10(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c10(A__SEL(mark(x0), cons(0, x3)), MARK(x0)) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c10(A__SEL(mark(x0), cons(nil, x3)), MARK(x0)) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(from(z0))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(head(z0))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(2nd(z0))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(take(z0, z1))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c10(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(sel(z0, z1))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c10(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(s(z0))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c10(MARK(cons(z0, z1))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c10(A__SEL(0, cons(mark(x2), x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(from(from(z0)))) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(from(head(z0)))) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(from(2nd(z0)))) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(from(take(z0, z1)))) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(from(sel(z0, z1)))) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(from(cons(z0, z1)))) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(from(s(z0)))) A__SEL(s(from(0)), cons(x1, x2)) -> c10(A__SEL(a__from(0), mark(x2)), MARK(from(0))) A__SEL(s(from(nil)), cons(x1, x2)) -> c10(A__SEL(a__from(nil), mark(x2)), MARK(from(nil))) A__SEL(s(from(x0)), cons(x1, x2)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, 0)) -> c10(MARK(from(x0))) A__SEL(s(from(x0)), cons(x1, nil)) -> c10(MARK(from(x0))) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(head(from(z0)))) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(head(head(z0)))) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(head(2nd(z0)))) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(head(take(z0, z1)))) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(head(sel(z0, z1)))) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(head(cons(z0, z1)))) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(head(s(z0)))) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, 0)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, nil)) -> c10(MARK(head(x0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c10(MARK(head(x0))) A__SEL(s(head(0)), cons(x1, x2)) -> c10(A__SEL(a__head(0), mark(x2))) A__SEL(s(head(nil)), cons(x1, x2)) -> c10(A__SEL(a__head(nil), mark(x2))) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(2nd(from(z0)))) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(2nd(head(z0)))) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(2nd(2nd(z0)))) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(2nd(take(z0, z1)))) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(2nd(sel(z0, z1)))) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(2nd(cons(z0, z1)))) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c10(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(2nd(s(z0)))) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, 0)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, nil)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c10(MARK(2nd(x0))) A__SEL(s(2nd(0)), cons(x1, x2)) -> c10(A__SEL(a__2nd(0), mark(x2))) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c10(A__SEL(a__2nd(nil), mark(x2))) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(take(x0, from(z0)))) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(take(x0, head(z0)))) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(take(x0, 2nd(z0)))) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, take(z0, z1)))) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(take(x0, sel(z0, z1)))) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(take(x0, cons(z0, z1)))) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(take(x0, s(z0)))) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(take(x0, 0))) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(take(x0, nil))) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(take(from(z0), x1))) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(take(head(z0), x1))) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(take(2nd(z0), x1))) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(take(z0, z1), x1))) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(take(sel(z0, z1), x1))) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(take(cons(z0, z1), x1))) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(take(s(z0), x1))) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(take(0, x1))) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(take(nil, x1))) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, 0)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, nil)) -> c10(MARK(take(x0, x1))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c10(MARK(take(x0, x1))) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(sel(x0, from(z0)))) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(sel(x0, head(z0)))) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(sel(x0, 2nd(z0)))) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, take(z0, z1)))) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(sel(x0, sel(z0, z1)))) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(sel(x0, cons(z0, z1)))) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(sel(x0, s(z0)))) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(sel(x0, 0))) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c10(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(sel(x0, nil))) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(sel(from(z0), x1))) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(sel(head(z0), x1))) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(sel(2nd(z0), x1))) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(take(z0, z1), x1))) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(sel(sel(z0, z1), x1))) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(sel(cons(z0, z1), x1))) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(sel(s(z0), x1))) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(sel(0, x1))) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c10(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(sel(nil, x1))) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, 0)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, nil)) -> c10(MARK(sel(x0, x1))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c10(MARK(sel(x0, x1))) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(s(from(z0)))) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(s(head(z0)))) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c10(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(s(2nd(z0)))) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(s(take(z0, z1)))) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(s(sel(z0, z1)))) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c10(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(s(cons(z0, z1)))) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c10(A__SEL(s(s(mark(z0))), mark(x2)), MARK(s(s(z0)))) A__SEL(s(s(0)), cons(x1, x2)) -> c10(A__SEL(s(0), mark(x2)), MARK(s(0))) A__SEL(s(s(nil)), cons(x1, x2)) -> c10(A__SEL(s(nil), mark(x2)), MARK(s(nil))) A__SEL(s(s(x0)), cons(x1, x2)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, 0)) -> c10(MARK(s(x0))) A__SEL(s(s(x0)), cons(x1, nil)) -> c10(MARK(s(x0))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(A__SEL(mark(x0), cons(mark(mark(x2)), from(s(mark(x2))))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(from(z0)))) -> c11(A__SEL(mark(x0), a__from(a__from(mark(z0)))), MARK(from(from(z0)))) A__SEL(s(x0), cons(x1, from(head(z0)))) -> c11(A__SEL(mark(x0), a__from(a__head(mark(z0)))), MARK(from(head(z0)))) A__SEL(s(x0), cons(x1, from(2nd(z0)))) -> c11(A__SEL(mark(x0), a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) A__SEL(s(x0), cons(x1, from(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) A__SEL(s(x0), cons(x1, from(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) A__SEL(s(x0), cons(x1, from(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) A__SEL(s(x0), cons(x1, from(s(z0)))) -> c11(A__SEL(mark(x0), a__from(s(mark(z0)))), MARK(from(s(z0)))) A__SEL(s(x0), cons(x1, from(0))) -> c11(A__SEL(mark(x0), a__from(0)), MARK(from(0))) A__SEL(s(x0), cons(x1, from(nil))) -> c11(A__SEL(mark(x0), a__from(nil)), MARK(from(nil))) A__SEL(s(from(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__from(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(head(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__head(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(2nd(z0)), cons(x1, from(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(take(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(sel(z0, z1)), cons(x1, from(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(s(z0)), cons(x1, from(x2))) -> c11(A__SEL(s(mark(z0)), a__from(mark(x2))), MARK(from(x2))) A__SEL(s(0), cons(x1, from(x2))) -> c11(A__SEL(0, a__from(mark(x2))), MARK(from(x2))) A__SEL(s(x0), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(cons(z0, z1)), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(nil), cons(x1, from(x2))) -> c11(MARK(from(x2))) A__SEL(s(x0), cons(x1, head(from(z0)))) -> c11(A__SEL(mark(x0), a__head(a__from(mark(z0)))), MARK(head(from(z0)))) A__SEL(s(x0), cons(x1, head(head(z0)))) -> c11(A__SEL(mark(x0), a__head(a__head(mark(z0)))), MARK(head(head(z0)))) A__SEL(s(x0), cons(x1, head(2nd(z0)))) -> c11(A__SEL(mark(x0), a__head(a__2nd(mark(z0)))), MARK(head(2nd(z0)))) A__SEL(s(x0), cons(x1, head(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__take(mark(z0), mark(z1)))), MARK(head(take(z0, z1)))) A__SEL(s(x0), cons(x1, head(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(a__sel(mark(z0), mark(z1)))), MARK(head(sel(z0, z1)))) A__SEL(s(x0), cons(x1, head(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) A__SEL(s(x0), cons(x1, head(s(z0)))) -> c11(A__SEL(mark(x0), a__head(s(mark(z0)))), MARK(head(s(z0)))) A__SEL(s(from(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__from(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(head(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__head(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(2nd(z0)), cons(x1, head(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(take(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(sel(z0, z1)), cons(x1, head(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(s(z0)), cons(x1, head(x2))) -> c11(A__SEL(s(mark(z0)), a__head(mark(x2))), MARK(head(x2))) A__SEL(s(0), cons(x1, head(x2))) -> c11(A__SEL(0, a__head(mark(x2))), MARK(head(x2))) A__SEL(s(x0), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, head(0))) -> c11(A__SEL(mark(x0), a__head(0))) A__SEL(s(x0), cons(x1, head(nil))) -> c11(A__SEL(mark(x0), a__head(nil))) A__SEL(s(cons(z0, z1)), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(nil), cons(x1, head(x2))) -> c11(MARK(head(x2))) A__SEL(s(x0), cons(x1, 2nd(from(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__from(mark(z0)))), MARK(2nd(from(z0)))) A__SEL(s(x0), cons(x1, 2nd(head(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__head(mark(z0)))), MARK(2nd(head(z0)))) A__SEL(s(x0), cons(x1, 2nd(2nd(z0)))) -> c11(A__SEL(mark(x0), a__2nd(a__2nd(mark(z0)))), MARK(2nd(2nd(z0)))) A__SEL(s(x0), cons(x1, 2nd(take(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__take(mark(z0), mark(z1)))), MARK(2nd(take(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(a__sel(mark(z0), mark(z1)))), MARK(2nd(sel(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__2nd(cons(mark(z0), z1))), MARK(2nd(cons(z0, z1)))) A__SEL(s(x0), cons(x1, 2nd(s(z0)))) -> c11(A__SEL(mark(x0), a__2nd(s(mark(z0)))), MARK(2nd(s(z0)))) A__SEL(s(from(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__from(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(head(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__head(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(2nd(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__2nd(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(take(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(sel(z0, z1)), cons(x1, 2nd(x2))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(s(z0)), cons(x1, 2nd(x2))) -> c11(A__SEL(s(mark(z0)), a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(0), cons(x1, 2nd(x2))) -> c11(A__SEL(0, a__2nd(mark(x2))), MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, 2nd(0))) -> c11(A__SEL(mark(x0), a__2nd(0))) A__SEL(s(x0), cons(x1, 2nd(nil))) -> c11(A__SEL(mark(x0), a__2nd(nil))) A__SEL(s(cons(z0, z1)), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(nil), cons(x1, 2nd(x2))) -> c11(MARK(2nd(x2))) A__SEL(s(x0), cons(x1, take(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__from(mark(z0)))), MARK(take(x2, from(z0)))) A__SEL(s(x0), cons(x1, take(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__head(mark(z0)))), MARK(take(x2, head(z0)))) A__SEL(s(x0), cons(x1, take(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__2nd(mark(z0)))), MARK(take(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, take(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__take(mark(z0), mark(z1)))), MARK(take(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(take(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), cons(mark(z0), z1))), MARK(take(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, take(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__take(mark(x2), s(mark(z0)))), MARK(take(x2, s(z0)))) A__SEL(s(x0), cons(x1, take(x2, 0))) -> c11(A__SEL(mark(x0), a__take(mark(x2), 0)), MARK(take(x2, 0))) A__SEL(s(x0), cons(x1, take(x2, nil))) -> c11(A__SEL(mark(x0), a__take(mark(x2), nil)), MARK(take(x2, nil))) A__SEL(s(x0), cons(x1, take(from(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__from(mark(z0)), mark(x3))), MARK(take(from(z0), x3))) A__SEL(s(x0), cons(x1, take(head(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__head(mark(z0)), mark(x3))), MARK(take(head(z0), x3))) A__SEL(s(x0), cons(x1, take(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__take(a__2nd(mark(z0)), mark(x3))), MARK(take(2nd(z0), x3))) A__SEL(s(x0), cons(x1, take(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__take(mark(z0), mark(z1)), mark(x3))), MARK(take(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(take(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__take(cons(mark(z0), z1), mark(x3))), MARK(take(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, take(s(z0), x3))) -> c11(A__SEL(mark(x0), a__take(s(mark(z0)), mark(x3))), MARK(take(s(z0), x3))) A__SEL(s(x0), cons(x1, take(0, x3))) -> c11(A__SEL(mark(x0), a__take(0, mark(x3))), MARK(take(0, x3))) A__SEL(s(x0), cons(x1, take(nil, x3))) -> c11(A__SEL(mark(x0), a__take(nil, mark(x3))), MARK(take(nil, x3))) A__SEL(s(from(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(head(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, take(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(s(z0)), cons(x1, take(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(0), cons(x1, take(x2, x3))) -> c11(A__SEL(0, a__take(mark(x2), mark(x3))), MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(nil), cons(x1, take(x2, x3))) -> c11(MARK(take(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, from(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__from(mark(z0)))), MARK(sel(x2, from(z0)))) A__SEL(s(x0), cons(x1, sel(x2, head(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__head(mark(z0)))), MARK(sel(x2, head(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 2nd(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__2nd(mark(z0)))), MARK(sel(x2, 2nd(z0)))) A__SEL(s(x0), cons(x1, sel(x2, take(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__take(mark(z0), mark(z1)))), MARK(sel(x2, take(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, sel(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), a__sel(mark(z0), mark(z1)))), MARK(sel(x2, sel(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, cons(z0, z1)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), cons(mark(z0), z1))), MARK(sel(x2, cons(z0, z1)))) A__SEL(s(x0), cons(x1, sel(x2, s(z0)))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), s(mark(z0)))), MARK(sel(x2, s(z0)))) A__SEL(s(x0), cons(x1, sel(x2, 0))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), 0)), MARK(sel(x2, 0))) A__SEL(s(x0), cons(x1, sel(x2, nil))) -> c11(A__SEL(mark(x0), a__sel(mark(x2), nil)), MARK(sel(x2, nil))) A__SEL(s(x0), cons(x1, sel(from(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__from(mark(z0)), mark(x3))), MARK(sel(from(z0), x3))) A__SEL(s(x0), cons(x1, sel(head(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__head(mark(z0)), mark(x3))), MARK(sel(head(z0), x3))) A__SEL(s(x0), cons(x1, sel(2nd(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(a__2nd(mark(z0)), mark(x3))), MARK(sel(2nd(z0), x3))) A__SEL(s(x0), cons(x1, sel(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__take(mark(z0), mark(z1)), mark(x3))), MARK(sel(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(a__sel(mark(z0), mark(z1)), mark(x3))), MARK(sel(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), a__sel(cons(mark(z0), z1), mark(x3))), MARK(sel(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, sel(s(z0), x3))) -> c11(A__SEL(mark(x0), a__sel(s(mark(z0)), mark(x3))), MARK(sel(s(z0), x3))) A__SEL(s(x0), cons(x1, sel(0, x3))) -> c11(A__SEL(mark(x0), a__sel(0, mark(x3))), MARK(sel(0, x3))) A__SEL(s(x0), cons(x1, sel(nil, x3))) -> c11(A__SEL(mark(x0), a__sel(nil, mark(x3))), MARK(sel(nil, x3))) A__SEL(s(from(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(head(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, sel(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(s(z0)), cons(x1, sel(x2, x3))) -> c11(A__SEL(s(mark(z0)), a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(0), cons(x1, sel(x2, x3))) -> c11(A__SEL(0, a__sel(mark(x2), mark(x3))), MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(nil), cons(x1, sel(x2, x3))) -> c11(MARK(sel(x2, x3))) A__SEL(s(x0), cons(x1, cons(from(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__from(mark(z0)), x3)), MARK(cons(from(z0), x3))) A__SEL(s(x0), cons(x1, cons(head(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__head(mark(z0)), x3)), MARK(cons(head(z0), x3))) A__SEL(s(x0), cons(x1, cons(2nd(z0), x3))) -> c11(A__SEL(mark(x0), cons(a__2nd(mark(z0)), x3)), MARK(cons(2nd(z0), x3))) A__SEL(s(x0), cons(x1, cons(take(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__take(mark(z0), mark(z1)), x3)), MARK(cons(take(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(sel(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(a__sel(mark(z0), mark(z1)), x3)), MARK(cons(sel(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(cons(z0, z1), x3))) -> c11(A__SEL(mark(x0), cons(cons(mark(z0), z1), x3)), MARK(cons(cons(z0, z1), x3))) A__SEL(s(x0), cons(x1, cons(s(z0), x3))) -> c11(A__SEL(mark(x0), cons(s(mark(z0)), x3)), MARK(cons(s(z0), x3))) A__SEL(s(x0), cons(x1, cons(0, x3))) -> c11(A__SEL(mark(x0), cons(0, x3)), MARK(cons(0, x3))) A__SEL(s(x0), cons(x1, cons(nil, x3))) -> c11(A__SEL(mark(x0), cons(nil, x3)), MARK(cons(nil, x3))) A__SEL(s(from(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__from(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(head(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__head(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(2nd(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__2nd(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(take(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__take(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(sel(z0, z1)), cons(x1, cons(x2, x3))) -> c11(A__SEL(a__sel(mark(z0), mark(z1)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(s(z0)), cons(x1, cons(x2, x3))) -> c11(A__SEL(s(mark(z0)), cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(0), cons(x1, cons(x2, x3))) -> c11(A__SEL(0, cons(mark(x2), x3)), MARK(cons(x2, x3))) A__SEL(s(x0), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(cons(z0, z1)), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(nil), cons(x1, cons(x2, x3))) -> c11(MARK(cons(x2, x3))) A__SEL(s(from(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(from(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__from(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(from(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__from(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(from(0)), cons(x1, x2)) -> c11(A__SEL(a__from(0), mark(x2)), MARK(x2)) A__SEL(s(from(nil)), cons(x1, x2)) -> c11(A__SEL(a__from(nil), mark(x2)), MARK(x2)) A__SEL(s(from(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(from(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(head(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(head(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__head(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(head(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__head(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(head(0)), cons(x1, x2)) -> c11(A__SEL(a__head(0), mark(x2)), MARK(x2)) A__SEL(s(head(nil)), cons(x1, x2)) -> c11(A__SEL(a__head(nil), mark(x2)), MARK(x2)) A__SEL(s(head(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(head(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(2nd(from(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(head(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(2nd(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(a__2nd(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(2nd(s(z0))), cons(x1, x2)) -> c11(A__SEL(a__2nd(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(2nd(0)), cons(x1, x2)) -> c11(A__SEL(a__2nd(0), mark(x2)), MARK(x2)) A__SEL(s(2nd(nil)), cons(x1, x2)) -> c11(A__SEL(a__2nd(nil), mark(x2)), MARK(x2)) A__SEL(s(2nd(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(2nd(x0)), cons(x1, x2)) -> c11(MARK(x2)) A__SEL(s(take(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(take(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(take(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__take(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(take(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__take(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__take(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(take(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(take(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(sel(x0, from(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__from(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, head(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__head(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 2nd(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__2nd(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, take(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__take(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, sel(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), a__sel(mark(z0), mark(z1))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, cons(z0, z1))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), cons(mark(z0), z1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, s(z0))), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), s(mark(z0))), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, 0)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), 0), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, nil)), cons(x2, x3)) -> c11(A__SEL(a__sel(mark(x0), nil), mark(x3)), MARK(x3)) A__SEL(s(sel(from(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__from(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(head(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__head(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(2nd(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__2nd(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(take(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__take(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(sel(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(a__sel(mark(z0), mark(z1)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(cons(z0, z1), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(cons(mark(z0), z1), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(s(z0), x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(s(mark(z0)), mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(0, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(0, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(nil, x1)), cons(x2, x3)) -> c11(A__SEL(a__sel(nil, mark(x1)), mark(x3)), MARK(x3)) A__SEL(s(sel(x0, x1)), cons(x2, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(sel(x0, x1)), cons(x2, x3)) -> c11(MARK(x3)) A__SEL(s(s(from(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__from(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(head(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__head(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(2nd(z0))), cons(x1, x2)) -> c11(A__SEL(s(a__2nd(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(take(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__take(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(sel(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(a__sel(mark(z0), mark(z1))), mark(x2)), MARK(x2)) A__SEL(s(s(cons(z0, z1))), cons(x1, x2)) -> c11(A__SEL(s(cons(mark(z0), z1)), mark(x2)), MARK(x2)) A__SEL(s(s(s(z0))), cons(x1, x2)) -> c11(A__SEL(s(s(mark(z0))), mark(x2)), MARK(x2)) A__SEL(s(s(0)), cons(x1, x2)) -> c11(A__SEL(s(0), mark(x2)), MARK(x2)) A__SEL(s(s(nil)), cons(x1, x2)) -> c11(A__SEL(s(nil), mark(x2)), MARK(x2)) A__SEL(s(s(x0)), cons(x1, s(z0))) -> c11(MARK(s(z0))) A__SEL(s(0), cons(x0, s(z0))) -> c11(MARK(s(z0))) MARK(head(from(x0))) -> c14(A__HEAD(cons(mark(mark(x0)), from(s(mark(x0))))), MARK(from(x0))) MARK(head(from(from(z0)))) -> c14(A__HEAD(a__from(a__from(mark(z0)))), MARK(from(from(z0)))) MARK(head(from(head(z0)))) -> c14(A__HEAD(a__from(a__head(mark(z0)))), MARK(from(head(z0)))) MARK(head(from(2nd(z0)))) -> c14(A__HEAD(a__from(a__2nd(mark(z0)))), MARK(from(2nd(z0)))) MARK(head(from(take(z0, z1)))) -> c14(A__HEAD(a__from(a__take(mark(z0), mark(z1)))), MARK(from(take(z0, z1)))) MARK(head(from(sel(z0, z1)))) -> c14(A__HEAD(a__from(a__sel(mark(z0), mark(z1)))), MARK(from(sel(z0, z1)))) MARK(head(from(cons(z0, z1)))) -> c14(A__HEAD(a__from(cons(mark(z0), z1))), MARK(from(cons(z0, z1)))) MARK(head(from(s(z0)))) -> c14(A__HEAD(a__from(s(mark(z0)))), MARK(from(s(z0)))) MARK(head(from(0))) -> c14(A__HEAD(a__from(0)), MARK(from(0))) MARK(head(from(nil))) -> c14(A__HEAD(a__from(nil)), MARK(from(nil))) MARK(head(from(x0))) -> c14(MARK(from(x0))) K tuples:none Defined Rule Symbols: a__from_1, a__head_1, a__2nd_1, a__take_2, a__sel_2, mark_1 Defined Pair Symbols: A__FROM_1, A__HEAD_1, A__TAKE_2, A__SEL_2, MARK_1, A__2ND_1 Compound Symbols: c_1, c2_1, c7_1, c9_1, c13_2, c20_1, c21_1, c4_2, c4_1, c10_1, c11_1, c14_2, c14_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c18_2, c18_1, c19_2, c19_1, c10_2, c11_2